Bugzilla – Attachment 156921 Details for
Bug 15504
Track Patron's Last Activity
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15504: Add unit test
Bug-15504-Add-unit-test.patch (text/plain), 7.02 KB, created by
Marcel de Rooy
on 2023-10-12 09:13:47 UTC
(
hide
)
Description:
Bug 15504: Add unit test
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2023-10-12 09:13:47 UTC
Size:
7.02 KB
patch
obsolete
>From 7c2f8fa742cbb58b068f156d01f91bf1205ae445 Mon Sep 17 00:00:00 2001 >From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> >Date: Wed, 14 Jun 2023 14:16:34 +0000 >Subject: [PATCH] Bug 15504: Add unit test >Content-Type: text/plain; charset=utf-8 > >prove -v t/db_dependent/Auth.t > >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Signed-off-by: David Nind <david@davidnind.com> > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >--- > t/db_dependent/Auth.t | 74 ++++++++++++++++++++++++++++++++++++++----- > 1 file changed, 66 insertions(+), 8 deletions(-) > >diff --git a/t/db_dependent/Auth.t b/t/db_dependent/Auth.t >index cc4016afc3..055dfd2686 100755 >--- a/t/db_dependent/Auth.t >+++ b/t/db_dependent/Auth.t >@@ -417,7 +417,7 @@ subtest 'checkauth() tests' => sub { > > subtest 'track_login_daily tests' => sub { > >- plan tests => 5; >+ plan tests => 18; > > my $patron = $builder->build_object({ class => 'Koha::Patrons' }); > my $userid = $patron->userid; >@@ -430,31 +430,89 @@ subtest 'track_login_daily tests' => sub { > $cache->clear_from_cache($cache_key); > > t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '1' ); >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'login,connection,check_in,check_out,renewal' ); > > is( $patron->lastseen, undef, 'Patron should have not last seen when newly created' ); > >- C4::Auth::track_login_daily( $userid ); >+ C4::Auth::track_login_daily( $userid, 'login' ); > $patron->_result()->discard_changes(); > isnt( $patron->lastseen, undef, 'Patron should have last seen set when TrackLastPatronActivity = 1' ); > > sleep(1); # We need to wait a tiny bit to make sure the timestamp will be different > my $last_seen = $patron->lastseen; >- C4::Auth::track_login_daily( $userid ); >+ C4::Auth::track_login_daily( $userid, 'login' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged after a login' ); >+ C4::Auth::track_login_daily( $userid, 'connection' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged after a SIP/ILSDI connection' ); >+ C4::Auth::track_login_daily( $userid, 'check_out' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged after a check out' ); >+ C4::Auth::track_login_daily( $userid, 'check_in' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged after a check in' ); >+ C4::Auth::track_login_daily( $userid, 'renewal' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged after a renewal' ); >+ >+ # Check that removing options stops tracking changes >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'connection,check_in,check_out,renewal' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'login' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should be unchanged after a login if login is not selected as an option and the cache has been cleared' ); >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'check_in,check_out,renewal' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'connection' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should be unchanged after a connection if connection is not selected as an option and the cache has been cleared' ); >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'check_out,renewal' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'check_in' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should be unchanged after a check_in if check_in is not selected as an option and the cache has been cleared' ); >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'renewal' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'check_out' ); >+ $patron->_result()->discard_changes(); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should be unchanged after a check_out if check_out is not selected as an option and the cache has been cleared' ); >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', '' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'renewal' ); > $patron->_result()->discard_changes(); >- is( $patron->lastseen, $last_seen, 'Patron last seen should still be unchanged' ); >+ is( $patron->lastseen, $last_seen, 'Patron last seen should be unchanged after a renewal if renewal is not selected as an option and the cache has been cleared' ); >+ >+ # Restore all options to test changes >+ t::lib::Mocks::mock_preference( 'TrackLastPatronActivityTriggers', 'login,connection,check_in,check_out,renewal' ); > > $cache->clear_from_cache($cache_key); >- C4::Auth::track_login_daily( $userid ); >+ C4::Auth::track_login_daily( $userid, 'login' ); > $patron->_result()->discard_changes(); >- isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed if we cleared the cache' ); >+ isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed after a login if we cleared the cache' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'connection' ); >+ $patron->_result()->discard_changes(); >+ isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed after a connection if we cleared the cache' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'check_out' ); >+ $patron->_result()->discard_changes(); >+ isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed after a check_out if we cleared the cache' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'check_in' ); >+ $patron->_result()->discard_changes(); >+ isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed after a check_in if we cleared the cache' ); >+ $cache->clear_from_cache($cache_key); >+ C4::Auth::track_login_daily( $userid, 'renewal' ); >+ $patron->_result()->discard_changes(); >+ isnt( $patron->lastseen, $last_seen, 'Patron last seen should be changed after a renewal if we cleared the cache' ); > > t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '0' ); > $patron->lastseen( undef )->store; > $cache->clear_from_cache($cache_key); >- C4::Auth::track_login_daily( $userid ); >+ C4::Auth::track_login_daily( $userid, 'login' ); > $patron->_result()->discard_changes(); > is( $patron->lastseen, undef, 'Patron should still have last seen unchanged when TrackLastPatronActivity = 0' ); >- > }; > > subtest 'no_set_userenv parameter tests' => sub { >-- >2.30.2
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 15504
:
152332
|
152333
|
152334
|
152335
|
152336
|
152500
|
152501
|
152502
|
152503
|
152504
|
152505
|
152506
|
155290
|
155291
|
155292
|
155293
|
155294
|
155295
|
155296
|
155534
|
155535
|
155536
|
155537
|
155538
|
155539
|
155540
|
156598
|
156599
|
156600
|
156601
|
156602
|
156603
|
156604
|
156605
|
156606
|
156607
|
156608
|
156742
|
156855
|
156856
|
156857
|
156858
|
156859
|
156860
|
156861
|
156862
|
156863
|
156864
|
156865
|
156866
|
156867
|
156868
|
156869
|
156870
|
156875
|
156879
|
156898
|
156899
|
156900
|
156901
|
156902
|
156903
|
156904
|
156905
|
156906
|
156907
|
156908
|
156909
|
156910
|
156911
|
156912
|
156913
|
156914
|
156915
|
156917
|
156918
|
156919
|
156920
|
156921
|
156922
|
156923
|
156924
|
156925
|
156926
|
156927
|
156928
|
156929
|
156930
|
156931
|
156932
|
156933
|
156934
|
156935
|
157602
|
157603
|
157604
|
157605
|
157606
|
157607
|
157608
|
157609
|
157610
|
157611
|
157612
|
157613
|
157614
|
157615
|
157616
|
157617
|
157618
|
157619
|
157620
|
157624