View | Details | Raw Unified | Return to bug 30860
Collapse All | Expand All

(-)a/t/db_dependent/Reserves.t (-2 / +50 lines)
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
};

Return to bug 30860