Bug 16426: Add tests for ModMember - do not update userid
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 3 May 2016 07:58:26 +0000 (08:58 +0100)
committerChris Cormack <chrisc@catalyst.net.nz>
Sun, 19 Jun 2016 20:55:05 +0000 (08:55 +1200)
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit e883c19f3778c0247c11e6bdd3f27bbdd927468d)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit ea45e3f39ebdd2a33b7ea00730ef278ba0f461a7)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

t/db_dependent/Members.t

index b7c857e..1b384e9 100755 (executable)
@@ -17,7 +17,7 @@
 
 use Modern::Perl;
 
-use Test::More tests => 73;
+use Test::More tests => 78;
 use Test::MockModule;
 use Data::Dumper;
 use C4::Context;
@@ -268,6 +268,19 @@ $borrowernumber = AddMember( %data );
 $borrower = GetMember( borrowernumber => $borrowernumber );
 is( $borrower->{userid}, $data{userid}, 'AddMember should insert the given userid' );
 
+subtest 'ModMember should not update userid if not true' => sub {
+    plan tests => 3;
+    ModMember( borrowernumber => $borrowernumber, firstname => 'Tomas', userid => '' );
+    $borrower = GetMember( borrowernumber => $borrowernumber );
+    is ( $borrower->{userid}, $data{userid}, 'ModMember should not update the userid with an empty string' );
+    ModMember( borrowernumber => $borrowernumber, firstname => 'Tomas', userid => 0 );
+    $borrower = GetMember( borrowernumber => $borrowernumber );
+    is ( $borrower->{userid}, $data{userid}, 'ModMember should not update the userid with an 0');
+    ModMember( borrowernumber => $borrowernumber, firstname => 'Tomas', userid => undef );
+    $borrower = GetMember( borrowernumber => $borrowernumber );
+    is ( $borrower->{userid}, $data{userid}, 'ModMember should not update the userid with an undefined value');
+};
+
 # Regression tests for BZ13502
 ## Remove all entries with userid='' (should be only 1 max)
 $dbh->do(q|DELETE FROM borrowers WHERE userid = ''|);