View | Details | Raw Unified | Return to bug 10487
Collapse All | Expand All

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

Return to bug 10487