Bugzilla – Attachment 13984 Details for
Bug 7067
allow patron self registration via the opac
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 7067 [6] - QA Followup
Bug-7067-6---QA-Followup.patch (text/plain), 7.40 KB, created by
Kyle M Hall
on 2012-12-10 20:46:03 UTC
(
hide
)
Description:
Bug 7067 [6] - QA Followup
Filename:
MIME Type:
Creator:
Kyle M Hall
Created:
2012-12-10 20:46:03 UTC
Size:
7.40 KB
patch
obsolete
>From 8ffc4b814b0c53c5e1b549041c705413e538b9e3 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Mon, 10 Dec 2012 15:45:28 -0500 >Subject: [PATCH] Bug 7067 [6] - QA Followup > >--- > Koha/Borrower/Modifications.pm | 39 +++------- > opac/opac-memberentry.pl | 4 +- > t/db_dependent/Koha_borrower_modifications.t | 94 ++++++++++++++++++++++++++ > 3 files changed, 108 insertions(+), 29 deletions(-) > create mode 100755 t/db_dependent/Koha_borrower_modifications.t > >diff --git a/Koha/Borrower/Modifications.pm b/Koha/Borrower/Modifications.pm >index a986599..2233b31 100644 >--- a/Koha/Borrower/Modifications.pm >+++ b/Koha/Borrower/Modifications.pm >@@ -28,21 +28,6 @@ use C4::Context; > use C4::Debug; > use C4::SQLHelper qw(InsertInTable UpdateInTable); > >-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); >- >-BEGIN { >- >- # set the version for version checking >- $VERSION = 0.01; >- require Exporter; >- @ISA = qw(Exporter); >- @EXPORT = qw( >- >- ); >- >- my $debug = C4::Context->preference("DebugLevel"); >-} >- > sub new { > my ( $class, %args ) = @_; > my $self = bless( {}, $class ); >@@ -50,12 +35,12 @@ sub new { > $self->{'verification_token'} = $args{'verification_token'}; > $self->{'borrowernumber'} = $args{'borrowernumber'}; > >- return $self; >+ return bless( \%args, $class ); > } > > =head AddModifications > >-Koha::Borrower::Modifications->AddModifications( %data ); >+Koha::Borrower::Modifications->AddModifications( $data ); > > Adds or updates modifications for a borrower. > >@@ -65,13 +50,13 @@ to be part of the passed in hash. > =cut > > sub AddModifications { >- my ( $self, %data ) = @_; >+ my ( $self, $data ) = @_; > > if ( $self->{'borrowernumber'} ) { >- delete $data{'borrowernumber'}; >+ delete $data->{'borrowernumber'}; > >- if ( keys %data ) { >- $data{'borrowernumber'} = $self->{'borrowernumber'}; >+ if ( keys %$data ) { >+ $data->{'borrowernumber'} = $self->{'borrowernumber'}; > my $dbh = C4::Context->dbh; > > my $query = " >@@ -85,20 +70,20 @@ sub AddModifications { > my $result = $sth->fetchrow_hashref(); > > if ( $result->{'count'} ) { >- $data{'verification_token'} = q{}; >- return UpdateInTable( "borrower_modifications", \%data ); >+ $data->{'verification_token'} = q{}; >+ return UpdateInTable( "borrower_modifications", $data ); > } > else { >- return InsertInTable( "borrower_modifications", \%data ); >+ return InsertInTable( "borrower_modifications", $data ); > } > } > > } > elsif ( $self->{'verification_token'} ) { >- delete $data{'borrowernumber'}; >- $data{'verification_token'} = $self->{'verification_token'}; >+ delete $data->{'borrowernumber'}; >+ $data->{'verification_token'} = $self->{'verification_token'}; > >- return InsertInTable( "borrower_modifications", \%data ); >+ return InsertInTable( "borrower_modifications", $data ); > } > else { > return; >diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl >index cf24176..7b368f0 100755 >--- a/opac/opac-memberentry.pl >+++ b/opac/opac-memberentry.pl >@@ -95,7 +95,7 @@ if ( $action eq 'create' ) { > > Koha::Borrower::Modifications->new( > verification_token => $verification_token ) >- ->AddModifications(%borrower); >+ ->AddModifications(\%borrower); > > #Send verification email > my $letter = C4::Letters::GetPreparedLetter( >@@ -161,7 +161,7 @@ elsif ( $action eq 'update' ) { > Koha::Borrower::Modifications->new( borrowernumber => $borrowernumber ); > > $m->DelModifications; >- $m->AddModifications(%borrower); >+ $m->AddModifications(\%borrower); > } > elsif ($borrowernumber) { #Display logged in borrower's data > $action = 'edit'; >diff --git a/t/db_dependent/Koha_borrower_modifications.t b/t/db_dependent/Koha_borrower_modifications.t >new file mode 100755 >index 0000000..7fdedd8 >--- /dev/null >+++ b/t/db_dependent/Koha_borrower_modifications.t >@@ -0,0 +1,94 @@ >+#!/usr/bin/perl >+ >+use Modern::Perl; >+use Test::More tests => 14; >+ >+use C4::Context; >+use C4::Members; >+ >+use Koha::Borrower::Modifications; >+ >+C4::Context->dbh->do("TRUNCATE TABLE borrower_modifications"); >+ >+## Create new pending modification >+Koha::Borrower::Modifications->new( verification_token => '1234567890' )->AddModifications({ surname => 'Hall', firstname => 'Kyle' }); >+ >+## Get the new pending modification >+my $borrower = Koha::Borrower::Modifications->GetModifications( >+ verification_token => '1234567890' >+); >+ >+## Verify we get the same data >+ok( $borrower->{'surname'} = 'Hall' ); >+ >+## Check the Verify method >+ok( Koha::Borrower::Modifications->Verify( '1234567890' ) ); >+ >+## Delete the pending modification >+$borrower = Koha::Borrower::Modifications->DelModifications( >+ verification_token => '1234567890' >+); >+ >+## Verify it's no longer in the database >+$borrower = Koha::Borrower::Modifications->GetModifications( >+ verification_token => '1234567890' >+); >+ok( !defined( $borrower->{'surname'} ) ); >+ >+## Check the Verify method >+ok( !Koha::Borrower::Modifications->Verify( '1234567890' ) ); >+ >+## Create new pending modification, but for an existing borrower >+Koha::Borrower::Modifications->new( borrowernumber => '2' )->AddModifications({ surname => 'Hall', firstname => 'Kyle' }); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 1 ); >+ >+## Create new pending modification for another existing borrower >+Koha::Borrower::Modifications->new( borrowernumber => '3' )->AddModifications({ surname => 'Smith', firstname => 'Sandy' }); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 2 ); >+ >+## Check GetPendingModifications >+my $pending = Koha::Borrower::Modifications->GetPendingModifications(); >+ok( $pending->[0]->{'firstname'} eq 'Kyle' ); >+ok( $pending->[1]->{'firstname'} eq 'Sandy' ); >+ >+## This should delete the row from the table >+Koha::Borrower::Modifications->DenyModifications( '3' ); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 1 ); >+ >+## Save a copy of the borrowers original data >+my $old_borrower = GetMember(borrowernumber => '2' ); >+ >+## Apply the modifications >+Koha::Borrower::Modifications->ApproveModifications( '2' ); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 0 ); >+ >+## Get a copy of the borrowers current data >+my $new_borrower = GetMember(borrowernumber => '2' ); >+ >+## Check to see that the approved modifications were saved >+ok( $new_borrower->{'surname'} eq 'Hall' ); >+ >+## Now let's put it back the way it was >+Koha::Borrower::Modifications->new( borrowernumber => '2' )->AddModifications({ surname => $old_borrower->{'surname'}, firstname => $old_borrower->{'firstname'} }); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 1 ); >+ >+## Apply the modifications >+Koha::Borrower::Modifications->ApproveModifications( '2' ); >+ >+## Test the counter >+ok( Koha::Borrower::Modifications->GetPendingModificationsCount() == 0 ); >+ >+$new_borrower = GetMember(borrowernumber => '2' ); >+ >+## Test to verify the borrower has been updated with the original values >+ok( $new_borrower->{'surname'} eq $old_borrower->{'surname'} ); >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 7067
:
11960
|
11961
|
11962
|
11965
|
11966
|
11967
|
11968
|
11970
|
11973
|
11978
|
12006
|
12007
|
12013
|
12104
|
12109
|
12114
|
12116
|
12129
|
12135
|
12136
|
12138
|
12153
|
12154
|
12171
|
12190
|
12191
|
12196
|
12197
|
12242
|
12243
|
12244
|
12245
|
12277
|
12278
|
13038
|
13039
|
13040
|
13048
|
13053
|
13259
|
13260
|
13744
|
13745
|
13746
|
13747
|
13748
|
13765
|
13766
|
13767
|
13768
|
13769
|
13984
|
14001
|
14085
|
14086
|
14087
|
14088
|
14089
|
14090
|
14092
|
14093
|
14119
|
14190
|
14191
|
14193
|
14194
|
14282
|
14283