Lines 2-9
Link Here
|
2 |
|
2 |
|
3 |
use Modern::Perl; |
3 |
use Modern::Perl; |
4 |
|
4 |
|
5 |
use Test::More tests => 8; |
5 |
use Test::More tests => 16; |
6 |
use MARC::Record; |
6 |
use MARC::Record; |
|
|
7 |
use DateTime::Duration; |
7 |
|
8 |
|
8 |
use C4::Branch; |
9 |
use C4::Branch; |
9 |
use C4::Biblio; |
10 |
use C4::Biblio; |
Lines 11-16
use C4::Items;
Link Here
|
11 |
use C4::Members; |
12 |
use C4::Members; |
12 |
use C4::Circulation; |
13 |
use C4::Circulation; |
13 |
|
14 |
|
|
|
15 |
use Koha::DateUtils; |
16 |
|
14 |
BEGIN { |
17 |
BEGIN { |
15 |
use_ok('C4::Reserves'); |
18 |
use_ok('C4::Reserves'); |
16 |
} |
19 |
} |
Lines 212-215
is( $messages->{ResFound}->{borrowernumber},
Link Here
|
212 |
$requesters{'RPL'}, |
215 |
$requesters{'RPL'}, |
213 |
'for generous library, its items fill first hold request in line (bug 10272)'); |
216 |
'for generous library, its items fill first hold request in line (bug 10272)'); |
214 |
|
217 |
|
|
|
218 |
# Tests for bug 9761 (ConfirmFutureHolds): new CheckReserves lookahead parameter, and corresponding change in AddReturn |
219 |
# Note that CheckReserve uses its lookahead parameter and does not check ConfirmFutureHolds pref (it should be passed if needed like AddReturn does) |
220 |
# Test 9761a: Add a reserve without date, CheckReserve should return it |
221 |
$resdate= undef; #defaults to today in AddReserve |
222 |
$expdate= undef; #no expdate |
223 |
$dbh->do("DELETE FROM reserves WHERE biblionumber=?",undef,($bibnum)); |
224 |
AddReserve('CPL', $requesters{'CPL'}, $bibnum, |
225 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
226 |
$title, $checkitem, $found); |
227 |
($status)=CheckReserves($itemnumber,undef,undef); |
228 |
is( $status, 'Reserved', 'CheckReserves returns reserve without lookahead'); |
229 |
($status)=CheckReserves($itemnumber,undef,7); |
230 |
is( $status, 'Reserved', 'CheckReserves also returns reserve with lookahead'); |
231 |
|
232 |
# Test 9761b: Add a reserve with future date, CheckReserve should not return it |
233 |
$dbh->do("DELETE FROM reserves WHERE biblionumber=?",undef,($bibnum)); |
234 |
C4::Context->set_preference('AllowHoldDateInFuture', 1); |
235 |
$resdate= dt_from_string(); |
236 |
$resdate->add_duration(DateTime::Duration->new(days => 4)); |
237 |
$resdate=output_pref($resdate); |
238 |
$expdate= undef; #no expdate |
239 |
AddReserve('CPL', $requesters{'CPL'}, $bibnum, |
240 |
$constraint, $bibitems, 1, $resdate, $expdate, $notes, |
241 |
$title, $checkitem, $found); |
242 |
($status)=CheckReserves($itemnumber,undef,undef); |
243 |
is( $status, '', 'CheckReserves returns no future reserve without lookahead'); |
244 |
|
245 |
# Test 9761c: Add a reserve with future date, CheckReserve should return it if lookahead is high enough |
246 |
($status)=CheckReserves($itemnumber,undef,3); |
247 |
is( $status, '', 'CheckReserves returns no future reserve with insufficient lookahead'); |
248 |
($status)=CheckReserves($itemnumber,undef,4); |
249 |
is( $status, 'Reserved', 'CheckReserves returns future reserve with sufficient lookahead'); |
250 |
|
251 |
# Test 9761d: Check ResFound message of AddReturn for future hold |
252 |
# Note that AddReturn is in Circulation.pm, but this test really pertains to reserves; AddReturn uses the ConfirmFutureHolds pref when calling CheckReserves |
253 |
# In this test we do not need an issued item; it is just a 'checkin' |
254 |
C4::Context->set_preference('ConfirmFutureHolds', 0); |
255 |
(my $doreturn, $messages)= AddReturn('97531','CPL'); |
256 |
is($messages->{ResFound}//'', '', 'AddReturn does not care about future reserve when ConfirmFutureHolds is off'); |
257 |
C4::Context->set_preference('ConfirmFutureHolds', 3); |
258 |
($doreturn, $messages)= AddReturn('97531','CPL'); |
259 |
is(exists $messages->{ResFound}?1:0, 0, 'AddReturn ignores future reserve beyond ConfirmFutureHolds days'); |
260 |
C4::Context->set_preference('ConfirmFutureHolds', 7); |
261 |
($doreturn, $messages)= AddReturn('97531','CPL'); |
262 |
is(exists $messages->{ResFound}?1:0, 1, 'AddReturn considers future reserve within ConfirmFutureHolds days'); |
263 |
|
264 |
# End of tests for bug 9761 (ConfirmFutureHolds) |
265 |
|
215 |
$dbh->rollback; |
266 |
$dbh->rollback; |
216 |
- |
|
|