|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 62; |
20 |
use Test::More tests => 65; |
| 21 |
use Test::MockModule; |
21 |
use Test::MockModule; |
| 22 |
use Test::Exception; |
22 |
use Test::Exception; |
| 23 |
|
23 |
|
|
Lines 358-363
t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '0' );
Link Here
|
| 358 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login; |
358 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login; |
| 359 |
is( Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen, undef, 'Lastseen should not be changed' ); |
359 |
is( Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen, undef, 'Lastseen should not be changed' ); |
| 360 |
|
360 |
|
|
|
361 |
my $session = new CGI::Session( undef, undef, { Directory => File::Spec->tmpdir } ); |
| 362 |
|
| 361 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ force => 1 }); |
363 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ force => 1 }); |
| 362 |
my $last_seen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
364 |
my $last_seen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
| 363 |
isnt( $last_seen, undef, 'Lastseen should be changed now' ); |
365 |
isnt( $last_seen, undef, 'Lastseen should be changed now' ); |
|
Lines 365-376
isnt( $last_seen, undef, 'Lastseen should be changed now' );
Link Here
|
| 365 |
# Last seen shouldn't be updated a second time for this session |
367 |
# Last seen shouldn't be updated a second time for this session |
| 366 |
t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '1' ); |
368 |
t::lib::Mocks::mock_preference( 'TrackLastPatronActivity', '1' ); |
| 367 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login(); |
369 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login(); |
| 368 |
is( Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen, $last_seen, 'Lastseen should not be changed' ); |
370 |
my $new_lastseen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
|
|
371 |
is( $new_lastseen, $last_seen, 'Lastseen should not be changed' ); |
| 369 |
|
372 |
|
| 370 |
# If it's forced, it should still be updated |
373 |
# If it's forced, it should still be updated |
| 371 |
sleep(1); # We need to wait a tiny bit to make sure the timestamp will be different |
374 |
sleep(1); # We need to wait a tiny bit to make sure the timestamp will be different |
| 372 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ force => 1 }); |
375 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ force => 1 }); |
| 373 |
isnt( Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen, $last_seen, 'Lastseen should be changed if forced' ); |
376 |
$new_lastseen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
|
|
377 |
isnt( $new_lastseen, $last_seen, 'Lastseen should be changed if forced' ); |
| 378 |
|
| 379 |
# Pass in a session, don't force update, it shouldn't be needed since session is fresh |
| 380 |
sleep(1); |
| 381 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ session => $session, force => 0 }); |
| 382 |
$new_lastseen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
| 383 |
isnt( $new_lastseen, $last_seen, 'Lastseen should be changed if using a fresh session' ); |
| 384 |
|
| 385 |
# Pass in a session, don't force update, lastseen should be unchanged |
| 386 |
$last_seen = $new_lastseen; |
| 387 |
sleep(1); |
| 388 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ session => $session, force => 0 }); |
| 389 |
$new_lastseen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
| 390 |
is( $new_lastseen, $last_seen, 'Lastseen should be unchanged with existing session' ); |
| 391 |
|
| 392 |
# Pass in the existing session, force update, lastseen should change |
| 393 |
sleep(1); |
| 394 |
Koha::Patrons->find( $patron2->{borrowernumber} )->track_login({ session => $session, force => 1 }); |
| 395 |
$new_lastseen = Koha::Patrons->find( $patron2->{borrowernumber} )->lastseen; |
| 396 |
isnt( $new_lastseen, $last_seen, 'Lastseen should be changed if forced with existing session' ); |
| 374 |
|
397 |
|
| 375 |
|
398 |
|
| 376 |
# Regression tests for BZ13502 |
399 |
# Regression tests for BZ13502 |
| 377 |
- |
|
|