Lines 300-306
subtest 'LookupPatron test' => sub {
Link Here
|
300 |
|
300 |
|
301 |
subtest 'Holds test' => sub { |
301 |
subtest 'Holds test' => sub { |
302 |
|
302 |
|
303 |
plan tests => 5; |
303 |
plan tests => 7; |
304 |
|
304 |
|
305 |
$schema->storage->txn_begin; |
305 |
$schema->storage->txn_begin; |
306 |
|
306 |
|
Lines 371-389
subtest 'Holds test' => sub {
Link Here
|
371 |
$reply = C4::ILSDI::Services::HoldItem( $query ); |
371 |
$reply = C4::ILSDI::Services::HoldItem( $query ); |
372 |
is( $reply->{code}, 'tooManyReserves', "Too many reserves" ); |
372 |
is( $reply->{code}, 'tooManyReserves', "Too many reserves" ); |
373 |
|
373 |
|
374 |
# Adding a holdable item to biblio 3. |
374 |
my $origin_branch = $builder->build( |
375 |
my $item3 = $builder->build_sample_item( |
|
|
376 |
{ |
375 |
{ |
377 |
damaged => 0, |
376 |
source => 'Branch', |
|
|
377 |
value => { |
378 |
pickup_location => 1, |
379 |
} |
378 |
} |
380 |
} |
379 |
); |
381 |
); |
380 |
|
382 |
|
|
|
383 |
# Adding a holdable item. |
384 |
my $item3 = $builder->build_sample_item( |
385 |
{ |
386 |
barcode => '123456789', |
387 |
library => $origin_branch->{branchcode} |
388 |
}); |
389 |
|
381 |
my $item4 = $builder->build_sample_item( |
390 |
my $item4 = $builder->build_sample_item( |
382 |
{ |
391 |
{ |
383 |
biblionumber => $item3->biblionumber, |
392 |
biblionumber => $item3->biblionumber, |
384 |
damaged => 1, |
393 |
damaged => 1, |
385 |
} |
394 |
library => $origin_branch->{branchcode} |
386 |
); |
395 |
}); |
387 |
|
396 |
|
388 |
Koha::CirculationRules->set_rule( |
397 |
Koha::CirculationRules->set_rule( |
389 |
{ |
398 |
{ |
Lines 397-408
subtest 'Holds test' => sub {
Link Here
|
397 |
|
406 |
|
398 |
$query = new CGI; |
407 |
$query = new CGI; |
399 |
$query->param( 'patron_id', $patron->{borrowernumber}); |
408 |
$query->param( 'patron_id', $patron->{borrowernumber}); |
400 |
$query->param( 'bib_id', $item3->biblionumber); |
409 |
$query->param( 'bib_id', $item4->biblionumber); |
401 |
$query->param( 'item_id', $item4->itemnumber); |
410 |
$query->param( 'item_id', $item4->itemnumber); |
402 |
|
411 |
|
403 |
$reply = C4::ILSDI::Services::HoldItem( $query ); |
412 |
$reply = C4::ILSDI::Services::HoldItem( $query ); |
404 |
is( $reply->{code}, 'damaged', "Item is damaged" ); |
413 |
is( $reply->{code}, 'damaged', "Item is damaged" ); |
405 |
|
414 |
|
|
|
415 |
my $module = new Test::MockModule('C4::Context'); |
416 |
$module->mock('userenv', sub { { patron => $patron } }); |
417 |
my $issue = C4::Circulation::AddIssue($patron, $item3->barcode); |
418 |
t::lib::Mocks::mock_preference( 'AllowHoldsOnPatronsPossessions', '0' ); |
419 |
|
420 |
$query = new CGI; |
421 |
$query->param( 'patron_id', $patron->{borrowernumber}); |
422 |
$query->param( 'bib_id', $item3->biblionumber); |
423 |
$query->param( 'item_id', $item3->itemnumber); |
424 |
$query->param( 'pickup_location', $origin_branch->{branchcode}); |
425 |
$reply = C4::ILSDI::Services::HoldItem( $query ); |
426 |
|
427 |
is( $reply->{code}, 'itemAlreadyOnLoan', "Patron has issued same book" ); |
428 |
is( $reply->{pickup_location}, undef, "No reserve placed"); |
429 |
|
406 |
$schema->storage->txn_rollback; |
430 |
$schema->storage->txn_rollback; |
407 |
}; |
431 |
}; |
408 |
|
432 |
|
Lines 642-648
subtest 'GetPatronInfo paginated loans' => sub {
Link Here
|
642 |
}); |
666 |
}); |
643 |
my $module = new Test::MockModule('C4::Context'); |
667 |
my $module = new Test::MockModule('C4::Context'); |
644 |
$module->mock('userenv', sub { { branch => $library->branchcode } }); |
668 |
$module->mock('userenv', sub { { branch => $library->branchcode } }); |
645 |
my $date_due = DateTime->now->add(weeks => 2); |
669 |
my $date_due = Koha::DateUtils::dt_from_string()->add(weeks => 2); |
646 |
my $issue1 = C4::Circulation::AddIssue($patron->unblessed, $item1->barcode, $date_due); |
670 |
my $issue1 = C4::Circulation::AddIssue($patron->unblessed, $item1->barcode, $date_due); |
647 |
my $date_due1 = Koha::DateUtils::dt_from_string( $issue1->date_due ); |
671 |
my $date_due1 = Koha::DateUtils::dt_from_string( $issue1->date_due ); |
648 |
my $issue2 = C4::Circulation::AddIssue($patron->unblessed, $item2->barcode, $date_due); |
672 |
my $issue2 = C4::Circulation::AddIssue($patron->unblessed, $item2->barcode, $date_due); |