Lines 17-23
Link Here
|
17 |
|
17 |
|
18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
19 |
|
19 |
|
20 |
use Test::More tests => 77; |
20 |
use Test::More tests => 78; |
21 |
use Test::MockModule; |
21 |
use Test::MockModule; |
22 |
use Test::Warn; |
22 |
use Test::Warn; |
23 |
|
23 |
|
Lines 1719-1721
subtest 'CanItemBeReserved() tests' => sub {
Link Here
|
1719 |
|
1719 |
|
1720 |
$schema->storage->txn_rollback; |
1720 |
$schema->storage->txn_rollback; |
1721 |
}; |
1721 |
}; |
1722 |
- |
1722 |
|
|
|
1723 |
subtest 'CanBookBeReserved return_all_items tests' => sub { |
1724 |
|
1725 |
plan tests => 3; |
1726 |
|
1727 |
$schema->storage->txn_begin; |
1728 |
|
1729 |
my $patron = $builder->build_object({ class => "Koha::Patrons" }); |
1730 |
|
1731 |
my $item_1 = $builder->build_sample_item({ homebranch => $patron->branchcode }); |
1732 |
my $item_2 = $builder->build_sample_item({ biblionumber => $item_1->biblionumber }); |
1733 |
my $item_3 = $builder->build_sample_item({ biblionumber => $item_1->biblionumber }); |
1734 |
my $item_4 = $builder->build_sample_item({ biblionumber => $item_1->biblionumber }); |
1735 |
|
1736 |
my $can_book_be = CanBookBeReserved($patron->borrowernumber,$item_1->biblionumber); |
1737 |
my $can_item_1_be = CanItemBeReserved($patron,$item_1); |
1738 |
my $can_item_2_be = CanItemBeReserved($patron,$item_2); |
1739 |
my $can_item_3_be = CanItemBeReserved($patron,$item_3); |
1740 |
my $can_item_4_be = CanItemBeReserved($patron,$item_4); |
1741 |
|
1742 |
my $can_be_all = { |
1743 |
%$can_book_be, |
1744 |
$item_1->itemnumber => $can_item_1_be, |
1745 |
$item_2->itemnumber => $can_item_2_be, |
1746 |
$item_3->itemnumber => $can_item_3_be, |
1747 |
$item_4->itemnumber => $can_item_4_be, |
1748 |
}; |
1749 |
|
1750 |
my $can_book_be_all = CanBookBeReserved($patron->borrowernumber,$item_1->biblionumber, undef, {return_all_items => 1}); |
1751 |
|
1752 |
is_deeply( $can_book_be_all, $can_be_all, "We get status for book and status per itemnumber when all requested"); |
1753 |
|
1754 |
t::lib::Mocks::mock_preference('AllowHoldsOnDamagedItems', 0); |
1755 |
$item_4->damaged(1)->store(); |
1756 |
$can_item_4_be = CanItemBeReserved($patron,$item_4); |
1757 |
my $can_be_all = { |
1758 |
%$can_book_be, |
1759 |
$item_1->itemnumber => $can_item_1_be, |
1760 |
$item_2->itemnumber => $can_item_2_be, |
1761 |
$item_3->itemnumber => $can_item_3_be, |
1762 |
$item_4->itemnumber => $can_item_4_be, |
1763 |
}; |
1764 |
$can_book_be_all = CanBookBeReserved($patron->borrowernumber,$item_1->biblionumber, undef, {return_all_items => 1}); |
1765 |
|
1766 |
is_deeply( $can_book_be_all, $can_be_all, "We get status for book and status per itemnumber when all requested"); |
1767 |
is( $can_book_be_all->{status}, 'OK', "When some can be reserved and some cannot we get 'OK'"); |
1768 |
|
1769 |
$schema->storage->txn_rollback; |
1770 |
}; |