|
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 |
}; |