|
Lines 2-14
Link Here
|
| 2 |
|
2 |
|
| 3 |
use Modern::Perl; |
3 |
use Modern::Perl; |
| 4 |
|
4 |
|
| 5 |
use Test::More tests => 4; |
5 |
use Test::More tests => 14; |
|
|
6 |
use Test::MockModule; |
| 6 |
use MARC::Record; |
7 |
use MARC::Record; |
|
|
8 |
use DateTime::Duration; |
| 7 |
|
9 |
|
| 8 |
use C4::Branch; |
10 |
use C4::Branch; |
| 9 |
use C4::Biblio; |
11 |
use C4::Biblio; |
| 10 |
use C4::Items; |
12 |
use C4::Items; |
| 11 |
use C4::Members; |
13 |
use C4::Members; |
|
|
14 |
use Koha::DateUtils; |
| 12 |
|
15 |
|
| 13 |
BEGIN { |
16 |
BEGIN { |
| 14 |
use_ok('C4::Reserves'); |
17 |
use_ok('C4::Reserves'); |
|
Lines 73-78
is($status, "Reserved", "CheckReserves Test 2");
Link Here
|
| 73 |
is($status, "Reserved", "CheckReserves Test 3"); |
76 |
is($status, "Reserved", "CheckReserves Test 3"); |
| 74 |
|
77 |
|
| 75 |
|
78 |
|
|
|
79 |
# GetMaxPickupDate |
| 80 |
my $item = GetItem( $itemnumber ); |
| 81 |
is( C4::Reserves::GetMaxPickupDate(), undef, "GetMaxPickupDate return undef if no parameter is given" ); |
| 82 |
|
| 83 |
# There is no issuingrule defined |
| 84 |
my $module = new Test::MockModule('C4::Circulation'); |
| 85 |
$module->mock( |
| 86 |
'GetIssuingRule', |
| 87 |
sub { |
| 88 |
return; |
| 89 |
} |
| 90 |
); |
| 91 |
# GetMaxPickupDate returns the same values for the 3 next calls (only reserve, only item and reserve + item) |
| 92 |
is( C4::Reserves::GetMaxPickupDate($reserve), undef, "GetMaxPickupDate return undef if only reserve is given and waitingdate is not defined" ); |
| 93 |
is( C4::Reserves::GetMaxPickupDate(undef, $item), undef, "GetMaxPickupDate return undef if only item is given and waitingdate is not defined" ); |
| 94 |
is( C4::Reserves::GetMaxPickupDate($reserve, $item), undef, "GetMaxPickupDate return undef if reserve and item are given and waitingdate is not defined" ); |
| 95 |
|
| 96 |
# Set a maxpickupdate value |
| 97 |
C4::Reserves::ModReserveAffect( $item->{itemnumber}, $borrowernumber ); |
| 98 |
$reserve = C4::Reserves::GetReserveInfo( $borrowernumber, $biblionumber ); |
| 99 |
is( C4::Reserves::GetMaxPickupDate($reserve), $reserve->{waitingdate} . 'T00:00:00', "GetMaxPickupDate return undef if only reserve is given and waitingdate is defined" ); |
| 100 |
is( C4::Reserves::GetMaxPickupDate(undef, $item), $reserve->{waitingdate} . 'T00:00:00', "GetMaxPickupDate return undef if only item is given and waitingdate is defined" ); |
| 101 |
is( C4::Reserves::GetMaxPickupDate($reserve, $item), $reserve->{waitingdate} . 'T00:00:00', "GetMaxPickupDate return undef if reserve and item are given and waitingdate is not defined" ); |
| 102 |
|
| 103 |
my $delay = 5; |
| 104 |
$module->mock( |
| 105 |
'GetIssuingRule', |
| 106 |
sub { |
| 107 |
return {holdspickupdelay => $delay}; |
| 108 |
} |
| 109 |
); |
| 110 |
|
| 111 |
my $waitingdate_plus_5days = dt_from_string( $reserve->{waitingdate} )->add_duration(DateTime::Duration->new( days => $delay )); |
| 112 |
is( C4::Reserves::GetMaxPickupDate($reserve), $waitingdate_plus_5days, "GetMaxPickupDate return undef if only reserve is given and waitingdate is defined" ); |
| 113 |
is( C4::Reserves::GetMaxPickupDate(undef, $item), $waitingdate_plus_5days, "GetMaxPickupDate return undef if only item is given and waitingdate is defined" ); |
| 114 |
is( C4::Reserves::GetMaxPickupDate($reserve, $item), $waitingdate_plus_5days, "GetMaxPickupDate return undef if reserve and item are given and waitingdate is not defined" ); |
| 115 |
|
| 116 |
|
| 76 |
# Teardown Test--------------------- |
117 |
# Teardown Test--------------------- |
| 77 |
# Delete item. |
118 |
# Delete item. |
| 78 |
diag("Deleting item testing instance."); |
119 |
diag("Deleting item testing instance."); |
| 79 |
- |
|
|