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

(-)a/t/db_dependent/Reserves.t (-2 / +42 lines)
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
- 

Return to bug 10487