Lines 19-25
Link Here
|
19 |
|
19 |
|
20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
21 |
|
21 |
|
22 |
use Test::More tests => 7; |
22 |
use Test::More tests => 8; |
23 |
|
23 |
|
24 |
use C4::Biblio; |
24 |
use C4::Biblio; |
25 |
use C4::Circulation; |
25 |
use C4::Circulation; |
Lines 339-344
subtest 'pickup_locations' => sub {
Link Here
|
339 |
$schema->storage->txn_rollback; |
339 |
$schema->storage->txn_rollback; |
340 |
}; |
340 |
}; |
341 |
|
341 |
|
|
|
342 |
subtest '_can_pickup_at' => sub { |
343 |
plan tests =>8; |
344 |
|
345 |
$schema->storage->txn_begin; |
346 |
|
347 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 0); |
348 |
|
349 |
my $library1 = $builder->build_object( { class => 'Koha::Libraries', value => { pickup_location => 1, } } ); |
350 |
my $library2 = $builder->build_object( { class => 'Koha::Libraries', value => { pickup_location => 1, } } ); |
351 |
my $library3 = $builder->build_object( { class => 'Koha::Libraries', value => { pickup_location => 0, } } ); |
352 |
my $library4 = $builder->build_object( { class => 'Koha::Libraries', value => { pickup_location => 1, } } ); |
353 |
|
354 |
my $item = $builder->build_sample_item({ |
355 |
homebranch => $library1->branchcode, |
356 |
holdingbranch => $library1->branchcode, |
357 |
ccode => "Gollum" |
358 |
}); |
359 |
|
360 |
my @to = ( $library1, $library2, $library3, $library4 ); |
361 |
|
362 |
my $pickup_locations = $item->_can_pickup_at({ to => \@to }); |
363 |
is( scalar @$pickup_locations, 3, "With no transfer limits we get back the libraries that are pickup locations"); |
364 |
|
365 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 1); |
366 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'itemtype'); |
367 |
$builder->build_object( { class => 'Koha::Item::Transfer::Limits', value => { |
368 |
toBranch => $library2->branchcode, |
369 |
fromBranch => $library1->branchcode, |
370 |
itemtype => $item->itype, |
371 |
ccode => undef, |
372 |
} |
373 |
}); |
374 |
|
375 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
376 |
is( scalar @$pickup_locations, 2, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
377 |
|
378 |
$builder->build_object( { class => 'Koha::Item::Transfer::Limits', value => { |
379 |
toBranch => $library4->branchcode, |
380 |
fromBranch => $library1->branchcode, |
381 |
itemtype => $item->itype, |
382 |
ccode => undef, |
383 |
} |
384 |
}); |
385 |
|
386 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
387 |
is( scalar @$pickup_locations, 1, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
388 |
|
389 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'ccode'); |
390 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
391 |
is( scalar @$pickup_locations, 3, "With no transfer limits of type ccode we get back the libraries that are pickup locations"); |
392 |
|
393 |
$builder->build_object( { class => 'Koha::Item::Transfer::Limits', value => { |
394 |
toBranch => $library2->branchcode, |
395 |
fromBranch => $library1->branchcode, |
396 |
itemtype => undef, |
397 |
ccode => $item->ccode, |
398 |
} |
399 |
}); |
400 |
|
401 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
402 |
is( scalar @$pickup_locations, 2, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
403 |
|
404 |
$builder->build_object( { class => 'Koha::Item::Transfer::Limits', value => { |
405 |
toBranch => $library4->branchcode, |
406 |
fromBranch => $library1->branchcode, |
407 |
itemtype => undef, |
408 |
ccode => $item->ccode, |
409 |
} |
410 |
}); |
411 |
|
412 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
413 |
is( scalar @$pickup_locations, 1, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
414 |
|
415 |
|
416 |
$pickup_locations = $item->_can_pickup_at({ to => \@to, from => $library2 }); |
417 |
is( scalar @$pickup_locations, 3, "With transfer limits enabled but not applying because of 'from' we get back the libraries that are pickup locations"); |
418 |
|
419 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 0); |
420 |
|
421 |
$pickup_locations = $item->_can_pickup_at({ to => \@to }); |
422 |
is( scalar @$pickup_locations, 3, "With transfer limits disabled we get back the libraries that are pickup locations"); |
423 |
|
424 |
}; |
425 |
|
342 |
subtest 'deletion' => sub { |
426 |
subtest 'deletion' => sub { |
343 |
plan tests => 12; |
427 |
plan tests => 12; |
344 |
|
428 |
|
345 |
- |
|
|