Bug 28630: Add unit tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Martin Renvoize 2021-06-25 10:33:18 +01:00 committed by Kyle M Hall
parent c1315c6a58
commit 2d3bc2e933
1 changed files with 10 additions and 2 deletions

View File

@ -28,6 +28,7 @@ use C4::Items qw( ModItemTransfer );
use C4::Circulation;
use Koha::AuthUtils;
use Koha::DateUtils;
BEGIN {
use_ok('C4::ILSDI::Services');
@ -39,7 +40,7 @@ my $builder = t::lib::TestBuilder->new;
subtest 'AuthenticatePatron test' => sub {
plan tests => 14;
plan tests => 16;
$schema->storage->txn_begin;
@ -56,7 +57,8 @@ subtest 'AuthenticatePatron test' => sub {
source => 'Borrower',
value => {
cardnumber => undef,
password => Koha::AuthUtils::hash_password( $plain_password )
password => Koha::AuthUtils::hash_password( $plain_password ),
lastseen => "2001-01-01"
}
});
@ -64,9 +66,12 @@ subtest 'AuthenticatePatron test' => sub {
$query->param( 'username', $borrower->{userid});
$query->param( 'password', $plain_password);
t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '' );
my $reply = C4::ILSDI::Services::AuthenticatePatron( $query );
is( $reply->{id}, $borrower->{borrowernumber}, "userid and password - Patron authenticated" );
is( $reply->{code}, undef, "Error code undef");
my $seen_patron = Koha::Patrons->find({ borrowernumber => $reply->{id} });
is( output_pref({str => $seen_patron->lastseen(), dateonly => 1}), output_pref({str => '2001-01-01', dateonly => 1}),'Last seen not updated if not tracking patrons');
$query->param('password','ilsdi-passworD');
$reply = C4::ILSDI::Services::AuthenticatePatron( $query );
@ -79,10 +84,13 @@ subtest 'AuthenticatePatron test' => sub {
is( $reply->{code}, 'PatronNotFound', "non-existing userid - PatronNotFound" );
is( $reply->{id}, undef, "id undef");
t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '1' );
$query->param( 'username', uc( $borrower->{userid} ));
$reply = C4::ILSDI::Services::AuthenticatePatron( $query );
is( $reply->{id}, $borrower->{borrowernumber}, "userid is not case sensitive - Patron authenticated" );
is( $reply->{code}, undef, "Error code undef");
$seen_patron = Koha::Patrons->find({ borrowernumber => $reply->{id} });
is( output_pref({str => $seen_patron->lastseen(), dateonly => 1}), output_pref({dt => dt_from_string(), dateonly => 1}),'Last seen updated to today if tracking patrons');
$query->param( 'username', $borrower->{cardnumber} );
$reply = C4::ILSDI::Services::AuthenticatePatron( $query );