Bug 19936: Replace Check_userid - just move the tests

This patch moves the tests related to Check_userid out of Members.t
The tests must pass with only this patch applied

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2018-01-08 17:14:49 -03:00
parent e5229fd68b
commit db274061c2
2 changed files with 68 additions and 33 deletions

View File

@ -19,7 +19,7 @@
use Modern::Perl;
use Test::More tests => 27;
use Test::More tests => 28;
use Test::Warn;
use Time::Fake;
use DateTime;
@ -1197,6 +1197,65 @@ subtest 'get_overdues' => sub {
$patron->delete;
};
subtest 'userid_is_valid' => sub {
plan tests => 9;
my $library = $builder->build_object( { class => 'Koha::Libraries' } );
my $patron_category = $builder->build_object(
{
class => 'Koha::Patron::Categories',
value => { category_type => 'P', enrolmentfee => 0 }
}
);
my %data = (
cardnumber => "123456789",
firstname => "Tomasito",
surname => "None",
categorycode => $patron_category->categorycode,
branchcode => $library->branchcode,
);
my $borrowernumber = AddMember(%data);
my $patron_1 = Koha::Patrons->find($borrowernumber);
is( Check_Userid( 'tomasito.non', $patron_1->borrowernumber ),
1, 'recently created userid -> unique (borrowernumber passed)' );
is( Check_Userid( 'tomasitoxxx', $patron_1->borrowernumber ),
1, 'non-existent userid -> unique (borrowernumber passed)' );
is( Check_Userid( 'tomasito.none', '' ),
0, 'userid exists (blank borrowernumber)' );
is( Check_Userid( 'tomasitoxxx', '' ),
1, 'non-existent userid -> unique (blank borrowernumber)' );
# Regression tests for BZ12226
is( Check_Userid( C4::Context->config('user'), '' ),
0, 'Check_Userid should return 0 for the DB user (Bug 12226)' );
# Add a new borrower with the same userid but different cardnumber
$data{cardnumber} = "987654321";
my $new_borrowernumber = AddMember(%data);
is( Check_Userid( 'tomasito.none', '' ),
0, 'userid not unique (blank borrowernumber)' );
is( Check_Userid( 'tomasito.none', $new_borrowernumber ),
0, 'userid not unique (second borrowernumber passed)' );
my $patron_2 = Koha::Patrons->find($new_borrowernumber);
ok( $patron_2->userid ne 'tomasito',
"Borrower with duplicate userid has new userid generated" );
my $new_userid = 'a_user_id';
$data{cardnumber} = "234567890";
$data{userid} = 'a_user_id';
$borrowernumber = AddMember(%data);
my $patron_3 = Koha::Patrons->find($borrowernumber);
is( $patron_3->userid, $new_userid,
'AddMember should insert the given userid' );
# Cleanup
$patron_1->delete;
$patron_2->delete;
$patron_3->delete;
};
$retrieved_patron_1->delete;
is( Koha::Patrons->search->count, $nb_of_patrons + 1, 'Delete should have deleted the patron' );

View File

@ -17,7 +17,7 @@
use Modern::Perl;
use Test::More tests => 60;
use Test::More tests => 51;
use Test::MockModule;
use Test::Exception;
@ -139,7 +139,7 @@ $checkcardnum=C4::Members::checkcardnumber($IMPOSSIBLE_CARDNUMBER, "");
is ($checkcardnum, "2", "Card number is too long");
# Check_Userid tests
# Add a new borrower
%data = (
cardnumber => "123456789",
firstname => "Tomasito",
@ -151,17 +151,7 @@ is ($checkcardnum, "2", "Card number is too long");
dateexpiry => '',
dateenrolled => '',
);
# Add a new borrower
my $borrowernumber = AddMember( %data );
is( Check_Userid( 'tomasito.non', $borrowernumber ), 1,
'recently created userid -> unique (borrowernumber passed)' );
is( Check_Userid( 'tomasitoxxx', $borrowernumber ), 1,
'non-existent userid -> unique (borrowernumber passed)' );
is( Check_Userid( 'tomasito.none', '' ), 0,
'userid exists (blank borrowernumber)' );
is( Check_Userid( 'tomasitoxxx', '' ), 1,
'non-existent userid -> unique (blank borrowernumber)' );
my $borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
is( $borrower->{dateofbirth}, undef, 'AddMember should undef dateofbirth if empty string is given');
is( $borrower->{debarred}, undef, 'AddMember should undef debarred if empty string is given');
@ -182,24 +172,14 @@ is( $borrower->{debarred}, '2042-01-01', 'ModMember should correctly set debarre
is( $borrower->{dateexpiry}, '9999-12-31', 'ModMember should correctly set dateexpiry if a valid date is given');
is( $borrower->{dateenrolled}, '2015-09-06', 'ModMember should correctly set dateenrolled if a valid date is given');
# Add a new borrower with the same userid but different cardnumber
$data{ cardnumber } = "987654321";
my $new_borrowernumber = AddMember( %data );
is( Check_Userid( 'tomasito.none', '' ), 0,
'userid not unique (blank borrowernumber)' );
is( Check_Userid( 'tomasito.none', $new_borrowernumber ), 0,
'userid not unique (second borrowernumber passed)' );
$borrower = Koha::Patrons->find( $new_borrowernumber )->unblessed;
ok( $borrower->{userid} ne 'tomasito', "Borrower with duplicate userid has new userid generated" );
$data{ cardnumber } = "234567890";
$data{userid} = 'a_user_id';
$borrowernumber = AddMember( %data );
$borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
is( $borrower->{userid}, $data{userid}, 'AddMember should insert the given userid' );
subtest 'ModMember should not update userid if not true' => sub {
plan tests => 3;
$data{ cardnumber } = "234567890";
$data{userid} = 'a_user_id';
$borrowernumber = AddMember( %data );
$borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
ModMember( borrowernumber => $borrowernumber, firstname => 'Tomas', userid => '' );
$borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
is ( $borrower->{userid}, $data{userid}, 'ModMember should not update the userid with an empty string' );
@ -369,10 +349,6 @@ ok( $borrowernumber > 0, 'AddMember should have inserted the patron even if no u
$borrower = Koha::Patrons->find( $borrowernumber )->unblessed;
ok( $borrower->{userid}, 'A userid should have been generated correctly' );
# Regression tests for BZ12226
is( Check_Userid( C4::Context->config('user'), '' ), 0,
'Check_Userid should return 0 for the DB user (Bug 12226)');
subtest 'purgeSelfRegistration' => sub {
plan tests => 2;