Lines 459-465
subtest 'pickup_locations' => sub {
Link Here
|
459 |
}; |
459 |
}; |
460 |
|
460 |
|
461 |
subtest 'request_transfer' => sub { |
461 |
subtest 'request_transfer' => sub { |
462 |
plan tests => 7; |
462 |
plan tests => 13; |
463 |
$schema->storage->txn_begin; |
463 |
$schema->storage->txn_begin; |
464 |
|
464 |
|
465 |
my $library1 = $builder->build_object( { class => 'Koha::Libraries' } ); |
465 |
my $library1 = $builder->build_object( { class => 'Koha::Libraries' } ); |
Lines 485-490
subtest 'request_transfer' => sub {
Link Here
|
485 |
is( ref($transfer), 'Koha::Item::Transfer', |
485 |
is( ref($transfer), 'Koha::Item::Transfer', |
486 |
'Koha::Item->request_transfer should return a Koha::Item::Transfer object' |
486 |
'Koha::Item->request_transfer should return a Koha::Item::Transfer object' |
487 |
); |
487 |
); |
|
|
488 |
my $original_transfer = $transfer->get_from_storage; |
488 |
|
489 |
|
489 |
# Transfer already in progress |
490 |
# Transfer already in progress |
490 |
throws_ok { $item->request_transfer( { to => $library2, reason => 'Manual' } ) } |
491 |
throws_ok { $item->request_transfer( { to => $library2, reason => 'Manual' } ) } |
Lines 496-502
subtest 'request_transfer' => sub {
Link Here
|
496 |
'Koha::Item::Transfer', |
497 |
'Koha::Item::Transfer', |
497 |
'The exception contains the found Koha::Item::Transfer' ); |
498 |
'The exception contains the found Koha::Item::Transfer' ); |
498 |
|
499 |
|
499 |
$transfer->datearrived(dt_from_string)->store(); |
500 |
# Queue transfer |
|
|
501 |
my $queued_transfer = $item->request_transfer( |
502 |
{ to => $library2, reason => 'Manual', enqueue => 1 } ); |
503 |
is( ref($queued_transfer), 'Koha::Item::Transfer', |
504 |
'Koha::Item->request_transfer allowed when enqueue is set' ); |
505 |
my $transfers = $item->get_transfers; |
506 |
is($transfers->count, 2, "There are now 2 live transfers in the queue"); |
507 |
$transfer = $transfer->get_from_storage; |
508 |
is_deeply($transfer->unblessed, $original_transfer->unblessed, "Original transfer unchanged"); |
509 |
$queued_transfer->datearrived(dt_from_string)->store(); |
510 |
|
511 |
# Replace transfer |
512 |
my $replaced_transfer = $item->request_transfer( |
513 |
{ to => $library2, reason => 'Manual', replace => 1 } ); |
514 |
is( ref($replaced_transfer), 'Koha::Item::Transfer', |
515 |
'Koha::Item->request_transfer allowed when replace is set' ); |
516 |
$original_transfer->discard_changes; |
517 |
ok($original_transfer->datecancelled, "Original transfer cancelled"); |
518 |
$transfers = $item->get_transfers; |
519 |
is($transfers->count, 1, "There is only 1 live transfer in the queue"); |
520 |
$replaced_transfer->datearrived(dt_from_string)->store(); |
500 |
|
521 |
|
501 |
# BranchTransferLimits |
522 |
# BranchTransferLimits |
502 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 1); |
523 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 1); |
Lines 513-519
subtest 'request_transfer' => sub {
Link Here
|
513 |
|
534 |
|
514 |
my $forced_transfer = $item->request_transfer( { to => $library1, reason => 'Manual', ignore_limits => 1 } ); |
535 |
my $forced_transfer = $item->request_transfer( { to => $library1, reason => 'Manual', ignore_limits => 1 } ); |
515 |
is( ref($forced_transfer), 'Koha::Item::Transfer', |
536 |
is( ref($forced_transfer), 'Koha::Item::Transfer', |
516 |
'Koha::Item->request_transfer allowed when forced' |
537 |
'Koha::Item->request_transfer allowed when ignore_limits is set' |
517 |
); |
538 |
); |
518 |
|
539 |
|
519 |
$schema->storage->txn_rollback; |
540 |
$schema->storage->txn_rollback; |
520 |
- |
|
|