Browse Source

Bug 20985: Unit tests

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
master
Arthur Suzuki 2 years ago
committed by Jonathan Druart
parent
commit
5600f7e23e
  1. 83
      t/db_dependent/Reserves.t

83
t/db_dependent/Reserves.t

@ -17,7 +17,7 @@
use Modern::Perl;
use Test::More tests => 67;
use Test::More tests => 68;
use Test::MockModule;
use Test::Warn;
@ -188,6 +188,7 @@ Koha::CirculationRules->set_rules(
rules => {
reservesallowed => 25,
holds_per_record => 1,
onshelfholds => 1,
}
}
);
@ -987,7 +988,76 @@ subtest 'reserves.item_level_hold' => sub {
$hold->delete;
};
};
subtest 'OnShelfHoldAllowed test' => sub {
plan tests => 3;
$dbh->do('DELETE FROM circulation_rules');
my $biblio = $builder->build_sample_biblio({frameworkcode => $frameworkcode})->biblionumber;
# Create a helper item instance for testing
my $item = $builder->build_sample_item({ biblionumber => $biblio, library => $branch_1, itype => $itemtype });
Koha::CirculationRules->set_rules(
{
branchcode => undef,
categorycode => undef,
itemtype => undef,
rules => {
reservesallowed => 25,
opacitemholds => 'Y',
onshelfholds => 1,
}
}
);
my $canreserve = C4::Reserves::CanItemBeReserved(
$patron->borrowernumber,
$item->itemnumber,
);
is( $canreserve->{status}, 'OK',
'item-level holds should be possible with onshelfholdallowed set to "Yes"' );
Koha::CirculationRules->set_rules(
{
branchcode => undef,
categorycode => undef,
itemtype => undef,
rules => {
reservesallowed => 25,
opacitemholds => 'Y',
onshelfholds => '0',
}
});
$canreserve = C4::Reserves::CanItemBeReserved(
$patron->borrowernumber,
$item->itemnumber,
);
is( $canreserve->{status}, 'onShelfHoldsNotAllowed',
'item-level holds should not be possible with onshelfholdallowed set to "If any unavailable"' );
Koha::CirculationRules->set_rules(
{
branchcode => undef,
categorycode => undef,
itemtype => undef,
rules => {
reservesallowed => 25,
opacitemholds => 'Y',
onshelfholds => '2',
}
});
$canreserve = C4::Reserves::CanItemBeReserved(
$patron->borrowernumber,
$item->itemnumber,
);
is( $canreserve->{status}, 'onShelfHoldsNotAllowed',
'item-level holds should not be possible with onshelfholdallowed set to "If all unavailable"' );
};
subtest 'MoveReserve additional test' => sub {
@ -1165,6 +1235,17 @@ subtest 'AllowHoldOnPatronPossession test' => sub {
my $patron = $builder->build_object({ class => "Koha::Patrons",
value => { branchcode => $item->homebranch }});
Koha::CirculationRules->set_rules(
{
branchcode => undef,
categorycode => undef,
itemtype => undef,
rules => {
onshelfholds => 1,
}
}
);
C4::Circulation::AddIssue($patron->unblessed,
$item->barcode);
t::lib::Mocks::mock_preference('AllowHoldsOnPatronsPossessions', 0);

Loading…
Cancel
Save