Lines 243-249
subtest 'is_serial() tests' => sub {
Link Here
|
243 |
|
243 |
|
244 |
subtest 'pickup_locations() tests' => sub { |
244 |
subtest 'pickup_locations() tests' => sub { |
245 |
|
245 |
|
246 |
plan tests => 11; |
246 |
plan tests => 19; |
247 |
|
247 |
|
248 |
$schema->storage->txn_begin; |
248 |
$schema->storage->txn_begin; |
249 |
|
249 |
|
Lines 442-472
subtest 'pickup_locations() tests' => sub {
Link Here
|
442 |
"PatronLibrary-2-8" => 3, |
442 |
"PatronLibrary-2-8" => 3, |
443 |
}; |
443 |
}; |
444 |
|
444 |
|
|
|
445 |
my $items_results = { |
446 |
"ItemHomeLibrary-1-1" => { |
447 |
$library1->branchcode => [ $item1_1->itemnumber ], |
448 |
$library2->branchcode => [ $item1_1->itemnumber ], |
449 |
$library4->branchcode => [ $item1_1->itemnumber ], |
450 |
$library5->branchcode => [ $item1_1->itemnumber ], |
451 |
$library6->branchcode => [ $item1_1->itemnumber ], |
452 |
$library7->branchcode => [ $item1_1->itemnumber ] |
453 |
}, |
454 |
"ItemHomeLibrary-1-8" => { |
455 |
$library4->branchcode => [ $item1_7->itemnumber ], |
456 |
}, |
457 |
"ItemHomeLibrary-2-1" => { |
458 |
$library1->branchcode => [ $item2_2->itemnumber ], |
459 |
$library2->branchcode => [ $item2_2->itemnumber ], |
460 |
}, |
461 |
"ItemHomeLibrary-2-8" => {}, |
462 |
"PatronLibrary-1-1" => { |
463 |
$library1->branchcode => [ $item1_1->itemnumber ], |
464 |
$library2->branchcode => [ $item1_1->itemnumber ], |
465 |
$library4->branchcode => [ $item1_1->itemnumber ], |
466 |
$library5->branchcode => [ $item1_1->itemnumber ], |
467 |
$library6->branchcode => [ $item1_1->itemnumber ], |
468 |
$library7->branchcode => [ $item1_1->itemnumber ] |
469 |
}, |
470 |
"PatronLibrary-1-8" => { |
471 |
$library5->branchcode => [ $item1_1->itemnumber, $item1_3->itemnumber, $item1_7->itemnumber ], |
472 |
$library6->branchcode => [ $item1_1->itemnumber, $item1_3->itemnumber, $item1_7->itemnumber ], |
473 |
$library7->branchcode => [ $item1_1->itemnumber, $item1_3->itemnumber, $item1_7->itemnumber ], |
474 |
}, |
475 |
"PatronLibrary-2-1" => {}, |
476 |
"PatronLibrary-2-8" => { |
477 |
$library5->branchcode => [ $item2_2->itemnumber, $item2_4->itemnumber, $item2_6->itemnumber ], |
478 |
$library6->branchcode => [ $item2_2->itemnumber, $item2_4->itemnumber, $item2_6->itemnumber ], |
479 |
$library7->branchcode => [ $item2_2->itemnumber, $item2_4->itemnumber, $item2_6->itemnumber ], |
480 |
} |
481 |
}; |
482 |
|
445 |
sub _doTest { |
483 |
sub _doTest { |
446 |
my ( $cbranch, $biblio, $patron, $results ) = @_; |
484 |
my ( $cbranch, $biblio, $patron, $results, $items_results ) = @_; |
447 |
t::lib::Mocks::mock_preference('ReservesControlBranch', $cbranch); |
485 |
t::lib::Mocks::mock_preference( 'ReservesControlBranch', $cbranch ); |
|
|
486 |
|
487 |
my $pl = $biblio->pickup_locations( { patron => $patron } ); |
448 |
|
488 |
|
|
|
489 |
# Filter to just test branches |
449 |
my @pl = map { |
490 |
my @pl = map { |
450 |
my $pickup_location = $_; |
491 |
my $pickup_location = $_; |
451 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
492 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
452 |
} $biblio->pickup_locations( { patron => $patron } )->as_list; |
493 |
} $pl->as_list; |
453 |
|
494 |
|
454 |
ok( |
495 |
ok( |
455 |
scalar(@pl) == $results->{ $cbranch . '-' |
496 |
scalar(@pl) == $results->{ $cbranch . '-' . $biblio->title . '-' . $patron->firstname }, |
456 |
. $biblio->title . '-' |
|
|
457 |
. $patron->firstname }, |
458 |
'ReservesControlBranch: ' |
497 |
'ReservesControlBranch: ' |
459 |
. $cbranch |
498 |
. $cbranch |
460 |
. ', biblio' |
499 |
. ', biblio' |
461 |
. $biblio->title |
500 |
. $biblio->title |
462 |
. ', patron' |
501 |
. ', patron' |
463 |
. $patron->firstname |
502 |
. $patron->firstname |
464 |
. ' should return ' |
503 |
. ' should return ' |
465 |
. $results->{ $cbranch . '-' |
504 |
. $results->{ $cbranch . '-' . $biblio->title . '-' . $patron->firstname } |
466 |
. $biblio->title . '-' |
505 |
. ' and returns ' |
467 |
. $patron->firstname } |
506 |
. scalar(@pl) |
468 |
. ' but returns ' |
507 |
); |
469 |
. scalar(@pl) |
508 |
|
|
|
509 |
my %filtered_location_items = map { $_ => $pl->{_pickup_location_items}->{$_} } |
510 |
grep { exists $pl->{_pickup_location_items}->{$_} } @branchcodes; |
511 |
|
512 |
is_deeply( |
513 |
\%filtered_location_items, \%{ $items_results->{ $cbranch . '-' |
514 |
. $biblio->title . '-' |
515 |
. $patron->firstname } }, 'Items per location correctly cached in resultset' |
470 |
); |
516 |
); |
471 |
} |
517 |
} |
472 |
|
518 |
|
Lines 475-481
subtest 'pickup_locations() tests' => sub {
Link Here
|
475 |
$cache->flush(); # needed since we change ReservesControlBranch |
521 |
$cache->flush(); # needed since we change ReservesControlBranch |
476 |
foreach my $biblio ($biblio1, $biblio2) { |
522 |
foreach my $biblio ($biblio1, $biblio2) { |
477 |
foreach my $patron ($patron1, $patron8) { |
523 |
foreach my $patron ($patron1, $patron8) { |
478 |
_doTest($cbranch, $biblio, $patron, $results); |
524 |
_doTest($cbranch, $biblio, $patron, $results, $items_results); |
479 |
} |
525 |
} |
480 |
} |
526 |
} |
481 |
} |
527 |
} |
482 |
- |
|
|