X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=t%2Fdb_dependent%2FHolds%2FHoldItemtypeLimit.t;h=91573206948006e4e2fd8fc5b6247ae57761b9c7;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=8fc8b3ed238c9a506c65d5eddfb85beb00b69692;hpb=acd91afd0c623e75ea9f9d7fb3b57a39bdfb1890;p=srvgit diff --git a/t/db_dependent/Holds/HoldItemtypeLimit.t b/t/db_dependent/Holds/HoldItemtypeLimit.t old mode 100644 new mode 100755 index 8fc8b3ed23..9157320694 --- a/t/db_dependent/Holds/HoldItemtypeLimit.t +++ b/t/db_dependent/Holds/HoldItemtypeLimit.t @@ -3,15 +3,18 @@ use Modern::Perl; use C4::Context; +use Koha::CirculationRules; use Test::More tests => 4; use t::lib::TestBuilder; +use Koha::Holds; + BEGIN { use FindBin; use lib $FindBin::Bin; - use_ok('C4::Reserves'); + use_ok('C4::Reserves', qw( AddReserve CheckReserves )); } my $schema = Koha::Database->schema; @@ -62,10 +65,6 @@ $dbh->do("DELETE FROM biblioitems"); $dbh->do("DELETE FROM transport_cost"); $dbh->do("DELETE FROM tmp_holdsqueue"); $dbh->do("DELETE FROM hold_fill_targets"); -$dbh->do("DELETE FROM default_branch_circ_rules"); -$dbh->do("DELETE FROM default_branch_item_rules"); -$dbh->do("DELETE FROM default_circ_rules"); -$dbh->do("DELETE FROM branch_item_rules"); $dbh->do("INSERT INTO biblio (frameworkcode, author, title, datecreated) VALUES ('', 'Koha test', '$bib_title', '2011-02-01')"); @@ -87,26 +86,59 @@ my $itemnumber = $dbh->selectrow_array("SELECT itemnumber FROM items WHERE biblionumber = $biblionumber") or BAIL_OUT("Cannot find newly created item"); -$dbh->do("DELETE FROM default_circ_rules"); -$dbh->do("INSERT INTO default_circ_rules ( holdallowed, hold_fulfillment_policy ) VALUES ( 2, 'any' )"); +$dbh->do("DELETE FROM circulation_rules"); +Koha::CirculationRules->set_rules( + { + itemtype => undef, + branchcode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + } + } +); # Itemtypes match -my $reserve_id = AddReserve( $branchcode, $borrowernumber, $biblionumber, '', 1, undef, undef, undef, undef, undef, undef, $right_itemtype ); +my $reserve_id = AddReserve( + { + branchcode => $branchcode, + borrowernumber => $borrowernumber, + biblionumber => $biblionumber, + priority => 1, + itemtype => $right_itemtype, + } +); my ( $status ) = CheckReserves($itemnumber); is( $status, 'Reserved', "Hold where itemtype matches item's itemtype targed" ); -CancelReserve( { reserve_id => $reserve_id } ); +Koha::Holds->find( $reserve_id )->cancel; # Itemtypes don't match -$reserve_id = AddReserve( $branchcode, $borrowernumber, $biblionumber, '', 1, undef, undef, undef, undef, undef, undef, $wrong_itemtype ); +$reserve_id = AddReserve( + { + branchcode => $branchcode, + borrowernumber => $borrowernumber, + biblionumber => $biblionumber, + priority => 1, + itemtype => $wrong_itemtype, + } +); + ( $status ) = CheckReserves($itemnumber); is($status, q{}, "Hold where itemtype does not match item's itemtype not targeted" ); -CancelReserve( { reserve_id => $reserve_id } ); +Koha::Holds->find( $reserve_id )->cancel; # No itemtype set -$reserve_id = AddReserve( $branchcode, $borrowernumber, $biblionumber, '', 1, undef, undef, undef, undef, undef, undef, undef ); +$reserve_id = AddReserve( + { + branchcode => $branchcode, + borrowernumber => $borrowernumber, + biblionumber => $biblionumber, + priority => 1, + } +); ( $status ) = CheckReserves($itemnumber); is( $status, 'Reserved', "Item targeted with no hold itemtype set" ); -CancelReserve( { reserve_id => $reserve_id } ); +Koha::Holds->find( $reserve_id )->cancel; # Cleanup $schema->storage->txn_rollback;