From 87dedb2a3b459b2770abafd7700df503c9ee2a31 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 25 Jun 2021 10:33:18 +0100 Subject: [PATCH] Bug 28630: Add unit tests --- t/db_dependent/ILSDI_Services.t | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/t/db_dependent/ILSDI_Services.t b/t/db_dependent/ILSDI_Services.t index c3be5cea94..17b7850ee0 100755 --- a/t/db_dependent/ILSDI_Services.t +++ b/t/db_dependent/ILSDI_Services.t @@ -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 ); -- 2.20.1