From 5936b638f29c785a56d8a5d9e365d52a665c5dbd Mon Sep 17 00:00:00 2001 From: Agustin Moyano Date: Tue, 23 Apr 2019 16:18:59 -0300 Subject: [PATCH] Bug 22284: (follow-up) Squash multiple follow-ups * Bug 22284: (follow-up) Remove commented warn and address test failures Signed-off-by: Tomas Cohen Arazi Signed-off-by: Josef Moravec * Bug 22284: (follow-up) fix test count after merge Signed-off-by: Tomas Cohen Arazi Signed-off-by: Josef Moravec * Bug 22284: (follow-up) fixes after 15496 Signed-off-by: Josef Moravec * Bug 22284: (follow-up) fixes after 18936 Signed-off-by: Josef Moravec * Bug 22284: (follow-up) Remove HomeOrHolding from reserves Signed-off-by: Josef Moravec --- C4/Reserves.pm | 14 +- Koha/Biblio.pm | 2 +- Koha/Item.pm | 2 - ...ft_local_hold_group_to_library_groups.perl | 7 +- .../prog/en/modules/admin/smart-rules.tt | 6 +- t/db_dependent/Holds.t | 265 ++++++++++++------ t/db_dependent/Koha/Biblios.t | 246 +++++++++++----- t/db_dependent/Koha/Items.t | 246 +++++++++++----- t/db_dependent/Koha/Libraries.t | 4 + 9 files changed, 541 insertions(+), 251 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 59058e2a7c..482580f130 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -460,11 +460,9 @@ sub CanItemBeReserved { return { status => 'cannotReserveFromOtherBranches' }; } - my $branch_control = C4::Context->preference('HomeOrHoldingBranch'); - my $itembranchcode = $branch_control eq 'holdingbranch' ? $item->holdingbranch : $item->homebranch; - my $item_library = Koha::Libraries->find( {branchcode => $itembranchcode} ); + my $item_library = Koha::Libraries->find( {branchcode => $item->homebranch} ); if ( $branchitemrule->{holdallowed} == 3) { - if($borrower->{branchcode} ne $itembranchcode && !$item_library->validate_hold_sibling( {branchcode => $borrower->{branchcode}} )) { + if($borrower->{branchcode} ne $item->homebranch && !$item_library->validate_hold_sibling( {branchcode => $borrower->{branchcode}} )) { return { status => 'branchNotInHoldGroup' }; } } @@ -809,7 +807,7 @@ sub CheckReserves { my $branchitemrule = C4::Circulation::GetBranchItemRule($branch,$item->effective_itemtype); next if ($branchitemrule->{'holdallowed'} == 0); next if (($branchitemrule->{'holdallowed'} == 1) && ($branch ne $patron->branchcode)); - my $library = Koha::Libraries->find({branchcode=>$branch}); + my $library = Koha::Libraries->find({branchcode=>$item->homebranch}); next if (($branchitemrule->{'holdallowed'} == 3) && (!$library->validate_hold_sibling({branchcode => $patron->branchcode}) )); my $hold_fulfillment_policy = $branchitemrule->{hold_fulfillment_policy}; next if ( ($hold_fulfillment_policy eq 'holdgroup') && (!$library->validate_hold_sibling({branchcode => $res->{branchcode}})) ); @@ -1221,9 +1219,7 @@ sub IsAvailableForItemLevelRequest { foreach my $i (@items) { my $reserves_control_branch = GetReservesControlBranch( $i->unblessed(), $patron->unblessed ); my $branchitemrule = C4::Circulation::GetBranchItemRule( $reserves_control_branch, $i->itype ); - my $branch_control = C4::Context->preference('HomeOrHoldingBranch'); - my $itembranchcode = $branch_control eq 'holdingbranch' ? $item->holdingbranch : $item->homebranch; - my $item_library = Koha::Libraries->find( {branchcode => $itembranchcode} ); + my $item_library = Koha::Libraries->find( {branchcode => $i->homebranch} ); $any_available = 1 @@ -1236,7 +1232,7 @@ sub IsAvailableForItemLevelRequest { && !C4::Context->preference('AllowHoldsOnDamagedItems') ) || Koha::ItemTypes->find( $i->effective_itemtype() )->notforloan || $branchitemrule->{holdallowed} == 1 && $patron->branchcode ne $i->homebranch - || $branchitemrule->{holdallowed} == 3 && !$item_library->validate_hold_sibling( {branchcode => $pickup_branchcode} ); + || $branchitemrule->{holdallowed} == 3 && !$item_library->validate_hold_sibling( {branchcode => $patron->branchcode} ); } return $any_available ? 0 : 1; diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm index ef27c1d231..316e18689b 100644 --- a/Koha/Biblio.pm +++ b/Koha/Biblio.pm @@ -184,7 +184,7 @@ sub pickup_locations { my $patron = $params->{patron}; my @pickup_locations; - foreach my $item_of_bib ($self->items) { + foreach my $item_of_bib ($self->items->as_list) { push @pickup_locations, $item_of_bib->pickup_locations( {patron => $patron} ); } diff --git a/Koha/Item.pm b/Koha/Item.pm index ac656eeca4..f0e1376cd9 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -319,8 +319,6 @@ sub pickup_locations { my $branch_control = C4::Context->preference('HomeOrHoldingBranch'); my $library = $branch_control eq 'holdingbranch' ? $self->holding_branch : $self->home_branch; - #warn $branch_control.' '.$branchitemrule->{holdallowed}.' '.$library->branchcode.' '.$patron->branchcode; - my @libs; if(defined $patron) { return @libs if $branchitemrule->{holdallowed} == 3 && !$library->validate_hold_sibling( {branchcode => $patron->branchcode} ); diff --git a/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl b/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl index fba0b32faf..d996afa356 100644 --- a/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl +++ b/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl @@ -5,12 +5,7 @@ if( CheckVersion( $DBversion ) ) { $dbh->do( "ALTER TABLE library_groups ADD COLUMN ft_local_hold_group tinyint(1) NOT NULL DEFAULT 0 AFTER ft_search_groups_staff" ); } - $dbh->do("ALTER TABLE default_branch_circ_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); - $dbh->do("ALTER TABLE default_circ_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); - $dbh->do("ALTER TABLE default_branch_item_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); - $dbh->do("ALTER TABLE branch_item_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); - # Always end with this (adjust the bug info) SetVersion( $DBversion ); - print "Upgrade to $DBversion done (Bug 22284 - Add ft_local_hold_group column to library_groups and alter hold_fulfillment_policy in rules tables)\n"; + print "Upgrade to $DBversion done (Bug 22284 - Add ft_local_hold_group column to library_groups)\n"; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt index 08fd2f08ed..7da8f8a0f3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -443,7 +443,7 @@ From any library - [% IF holdallowed == 3 %] + [% IF holdallowed == 3 %] [% END %] - [% IF hold_fulfillment_policy == 'holdgroup' %] + [% IF hold_fulfillment_policy == 'holdgroup' %] @@ -759,7 +759,7 @@ [% IF holdallowed == 2 %] From any library - [% ELSIF holdallowed == 3 %] + [% ELSIF holdallowed == 3 %] From local hold group [% ELSIF holdallowed == 1 %] From home library diff --git a/t/db_dependent/Holds.t b/t/db_dependent/Holds.t index 92f38c36cf..2ecbdb4d9a 100755 --- a/t/db_dependent/Holds.t +++ b/t/db_dependent/Holds.t @@ -7,7 +7,7 @@ use t::lib::TestBuilder; use C4::Context; -use Test::More tests => 60; +use Test::More tests => 61; use MARC::Record; use C4::Biblio; @@ -244,13 +244,14 @@ is( $hold->priority, '6', "Test AlterPriority(), move to bottom" ); my $foreign_biblio = $builder->build_sample_biblio({ itemtype => 'DUMMY' }); my ($foreign_item_bibnum, $foreign_item_bibitemnum, $foreign_itemnumber) = AddItem({ homebranch => $branch_2, holdingbranch => $branch_2 } , $foreign_biblio->biblionumber); -$dbh->do('DELETE FROM issuingrules'); -$dbh->do( - q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, holds_per_record) - VALUES (?, ?, ?, ?, ?)}, - {}, - '*', '*', '*', 25, 99 -); +# Cleanup circulation rules +$dbh->do('DELETE FROM circulation_rules'); +# $dbh->do( +# q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, holds_per_record) +# VALUES (?, ?, ?, ?, ?)}, +# {}, +# '*', '*', '*', 25, 99 +# ); $dbh->do( q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, holds_per_record) VALUES (?, ?, ?, ?, ?)}, @@ -565,6 +566,8 @@ subtest 'CanItemBeReserved / holds_per_day tests' => sub { Koha::Holds->search->delete; $dbh->do('DELETE FROM issues'); + $dbh->do('DELETE FROM issuingrules'); + $dbh->do('DELETE FROM circulation_rules'); Koha::Items->search->delete; Koha::Biblios->search->delete; @@ -705,10 +708,7 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { {}, '*', '*', '*', 25 ); - $dbh->do('DELETE FROM branch_item_rules'); - $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 circulation_rules'); Koha::Items->search->delete; Koha::Biblios->search->delete; @@ -762,11 +762,17 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Insert default circ rule of holds allowed only from local hold group for all libraries - $dbh->do( - q{INSERT INTO default_circ_rules (holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?)}, - {}, - 3, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 2: Patron 1 can place hold @@ -784,14 +790,20 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Cleanup default_cirt_rules - $dbh->do('DELETE FROM default_circ_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert default circ rule to "any" for library 2 - $dbh->do( - q{INSERT INTO default_branch_circ_rules (branchcode, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?)}, - {}, - $library2->branchcode, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 4: Patron 3 can place hold @@ -802,11 +814,17 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Update default circ rule to "hold group" for library 2 - $dbh->do( - q{UPDATE default_branch_circ_rules set holdallowed = ? - WHERE branchcode = ?}, - {}, - 3, $library2->branchcode + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 5: Patron 3 cannot place hold @@ -817,14 +835,20 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Cleanup default_branch_cirt_rules - $dbh->do('DELETE FROM default_branch_circ_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert default item rule to "any" for itemtype 2 - $dbh->do( - q{INSERT INTO default_branch_item_rules (itemtype, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?)}, - {}, - $itemtype2->itemtype, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 6: Patron 3 can place hold @@ -835,11 +859,17 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Update default item rule to "hold group" for itemtype 2 - $dbh->do( - q{UPDATE default_branch_item_rules set holdallowed = ? - WHERE itemtype = ?}, - {}, - 3, $itemtype2->itemtype + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 7: Patron 3 cannot place hold @@ -850,14 +880,20 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Cleanup default_branch_item_rules - $dbh->do('DELETE FROM default_branch_item_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert branch item rule to "any" for itemtype 2 and library 2 - $dbh->do( - q{INSERT INTO branch_item_rules (branchcode, itemtype, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?,?)}, - {}, - $library2->branchcode, $itemtype2->itemtype, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 8: Patron 3 can place hold @@ -868,11 +904,17 @@ subtest 'CanItemBeReserved / branch_not_in_hold_group' => sub { ); # Update branch item rule to "hold group" for itemtype 2 and library 2 - $dbh->do( - q{UPDATE branch_item_rules set holdallowed = ? - WHERE branchcode = ? and itemtype = ?}, - {}, - 3, $library2->branchcode, $itemtype2->itemtype + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 9: Patron 3 cannot place hold @@ -901,10 +943,7 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { {}, '*', '*', '*', 25 ); - $dbh->do('DELETE FROM branch_item_rules'); - $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 circulation_rules'); Koha::Items->search->delete; Koha::Biblios->search->delete; @@ -958,11 +997,17 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Insert default circ rule of holds allowed only from local hold group for all libraries - $dbh->do( - q{INSERT INTO default_circ_rules (holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?)}, - {}, - 2, 'holdgroup', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); # Test 2: Patron 1 can place hold @@ -980,14 +1025,20 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Cleanup default_cirt_rules - $dbh->do('DELETE FROM default_circ_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert default circ rule to "any" for library 2 - $dbh->do( - q{INSERT INTO default_branch_circ_rules (branchcode, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?)}, - {}, - $library2->branchcode, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 4: Patron 3 can place hold @@ -998,11 +1049,17 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Update default circ rule to "hold group" for library 2 - $dbh->do( - q{UPDATE default_branch_circ_rules set hold_fulfillment_policy = ? - WHERE branchcode = ?}, - {}, - 'holdgroup', $library2->branchcode + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); # Test 5: Patron 3 cannot place hold @@ -1013,14 +1070,20 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Cleanup default_branch_cirt_rules - $dbh->do('DELETE FROM default_branch_circ_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert default item rule to "any" for itemtype 2 - $dbh->do( - q{INSERT INTO default_branch_item_rules (itemtype, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?)}, - {}, - $itemtype2->itemtype, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 6: Patron 3 can place hold @@ -1031,11 +1094,17 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Update default item rule to "hold group" for itemtype 2 - $dbh->do( - q{UPDATE default_branch_item_rules set hold_fulfillment_policy = ? - WHERE itemtype = ?}, - {}, - 'holdgroup', $itemtype2->itemtype + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); # Test 7: Patron 3 cannot place hold @@ -1046,14 +1115,20 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Cleanup default_branch_item_rules - $dbh->do('DELETE FROM default_branch_item_rules'); + $dbh->do('DELETE FROM circulation_rules'); # Insert branch item rule to "any" for itemtype 2 and library 2 - $dbh->do( - q{INSERT INTO branch_item_rules (branchcode, itemtype, holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?,?,?)}, - {}, - $library2->branchcode, $itemtype2->itemtype, 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); # Test 8: Patron 3 can place hold @@ -1064,11 +1139,17 @@ subtest 'CanItemBeReserved / pickup_not_in_hold_group' => sub { ); # Update branch item rule to "hold group" for itemtype 2 and library 2 - $dbh->do( - q{UPDATE branch_item_rules set hold_fulfillment_policy = ? - WHERE branchcode = ? and itemtype = ?}, - {}, - 'holdgroup', $library2->branchcode, $itemtype2->itemtype + Koha::CirculationRules->set_rules( + { + branchcode => $library2->branchcode, + itemtype => $itemtype2->itemtype, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); # Test 9: Patron 3 cannot place hold diff --git a/t/db_dependent/Koha/Biblios.t b/t/db_dependent/Koha/Biblios.t index 9d3bca16bd..c03d28434e 100644 --- a/t/db_dependent/Koha/Biblios.t +++ b/t/db_dependent/Koha/Biblios.t @@ -209,10 +209,7 @@ subtest 'pickup_locations' => sub { {}, '*', '*', '*', 25 ); - $dbh->do('DELETE FROM branch_item_rules'); - $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 circulation_rules'); my $root1 = $builder->build_object( { class => 'Koha::Library::Groups', value => { ft_local_hold_group => 1 } } ); my $root2 = $builder->build_object( { class => 'Koha::Library::Groups', value => { ft_local_hold_group => 1 } } ); @@ -290,11 +287,17 @@ subtest 'pickup_locations' => sub { t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch'); #Case 1: holdallowed any, hold_fulfillment_policy any - $dbh->do( - q{INSERT INTO default_circ_rules (holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?)}, - {}, - 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); my @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -306,10 +309,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 5 && scalar(@pl_1_4) == 5 && scalar(@pl_2_1) == 5 && scalar(@pl_2_4) == 5, 'Returns all libraries that are pickup locations'); #Case 2: holdallowed homebranch, hold_fulfillment_policy any, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -321,10 +331,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_2_1) == 0, 'Returns no pickup locations'); #Case 3: holdallowed holdgroup, hold_fulfillment_policy any - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -335,10 +352,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 5 && scalar(@pl_2_4) == 5 && scalar(@pl_1_4) == 5 && scalar(@pl_2_1) == 5, 'Returns all libraries that are pickup_locations, when item\'s hombebranch is in patron\' holdgroup'); #Case 4: holdallowed any, hold_fulfillment_policy holdgroup - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -349,10 +373,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 3 && scalar(@pl_2_4) == 3 && scalar(@pl_1_4) == 3 && scalar(@pl_2_1) == 3, 'Returns libraries in item\'s holdgroup, and that are pickup_locations'); #Case 5: holdallowed homebranch, hold_fulfillment_policy holdgroup, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -364,10 +395,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_2_1) == 0, 'Returns no pickup locations'); #Case 6: holdallowed holdgroup, hold_fulfillment_policy holdgroup - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -378,10 +416,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 2 && scalar(@pl_2_1) == 2 && scalar(@pl_2_4) == 1 && scalar(@pl_1_4) == 1, 'Returns libraries in item\'s holdgroup whose homebranch is included patron\'s holdgroup, and that are pickup_locations'); #Case 7: holdallowed any, hold_fulfillment_policy homebranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -392,10 +437,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 1 && scalar(@pl_1_4) == 1 && scalar(@pl_2_1) == 2 && scalar(@pl_2_4) == 2, 'Returns homebranch of items in biblio, that are pickup_locations'); #Case 8: holdallowed homebranch, hold_fulfillment_policy homebranch, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -407,10 +459,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_2_1) == 0, 'No pickup locations returned'); #Case 9: holdallowed holdgroup, hold_fulfillment_policy homebranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -422,10 +481,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0, 'No pickup locations returned'); #Case 10: holdallowed any, hold_fulfillment_policy holdingbranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -436,10 +502,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 2 && scalar(@pl_1_4) == 2 && scalar(@pl_2_1) == 2 && scalar(@pl_2_4) == 2, 'Returns holdingbranch of items in biblio, that are pickup_locations'); #Case 11: holdallowed homebranch, hold_fulfillment_policy holdingbranch, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -451,10 +524,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_2_1) == 0, 'No pickup locations returned'); #Case 12: holdallowed holdgroup, hold_fulfillment_policy holdingbranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -467,10 +547,17 @@ subtest 'pickup_locations' => sub { t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'holdingbranch'); #Case 13: holdallowed homebranch, hold_fulfillment_policy any, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -482,10 +569,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 0, 'No pickup locations returned'); #Case 14: holdallowed homebranch, hold_fulfillment_policy holdgroup, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -497,10 +591,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 0, 'No pickup locations returned'); #Case 15: holdallowed homebranch, hold_fulfillment_policy homebranch, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); @@ -513,10 +614,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == 0 && scalar(@pl_1_4) == 0, 'No pickup locations returned'); #Case 16: holdallowed homebranch, hold_fulfillment_policy holdingbranch, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $biblio1->pickup_locations( { patron => $patron1 } ); diff --git a/t/db_dependent/Koha/Items.t b/t/db_dependent/Koha/Items.t index 8a4014495f..d777496106 100644 --- a/t/db_dependent/Koha/Items.t +++ b/t/db_dependent/Koha/Items.t @@ -205,10 +205,7 @@ subtest 'pickup_locations' => sub { {}, '*', '*', '*', 25 ); - $dbh->do('DELETE FROM branch_item_rules'); - $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 circulation_rules'); my $root1 = $builder->build_object( { class => 'Koha::Library::Groups', value => { ft_local_hold_group => 1 } } ); my $root2 = $builder->build_object( { class => 'Koha::Library::Groups', value => { ft_local_hold_group => 1 } } ); @@ -250,11 +247,17 @@ subtest 'pickup_locations' => sub { t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch'); #Case 1: holdallowed any, hold_fulfillment_policy any - $dbh->do( - q{INSERT INTO default_circ_rules (holdallowed, hold_fulfillment_policy, returnbranch) - VALUES (?,?,?)}, - {}, - 2, 'any', 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); my @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -265,10 +268,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_1) == scalar(@pl_1_4) && scalar(@pl_1_1) == scalar(@pl_3_1) && scalar(@pl_1_1) == scalar(@pl_3_4), 'All combinations of patron/item renders the same number of locations'); #Case 2: holdallowed homebranch, hold_fulfillment_policy any, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -280,10 +290,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations'); #Case 3: holdallowed holdgroup, hold_fulfillment_policy any - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -296,10 +313,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0, 'Any other combination renders no locations'); #Case 4: holdallowed any, hold_fulfillment_policy holdgroup - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -311,10 +335,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_3_1) == 1 && scalar(@pl_3_4) == 1, 'Pickup locations for item 3 renders all libraries in items\'s holdgroup that are pickup_locations'); #Case 5: holdallowed homebranch, hold_fulfillment_policy holdgroup, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -326,10 +357,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations'); #Case 6: holdallowed holdgroup, hold_fulfillment_policy holdgroup - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -342,10 +380,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0, 'Any other combination renders no locations'); #Case 7: holdallowed any, hold_fulfillment_policy homebranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -357,10 +402,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations, because library3 is not pickup_location'); #Case 8: holdallowed homebranch, hold_fulfillment_policy homebranch, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -372,10 +424,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations'); #Case 9: holdallowed holdgroup, hold_fulfillment_policy homebranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -387,10 +446,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations'); #Case 10: holdallowed any, hold_fulfillment_policy holdingbranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 2, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 2, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -403,10 +469,17 @@ subtest 'pickup_locations' => sub { #Case 11: holdallowed homebranch, hold_fulfillment_policy holdingbranch, HomeOrHoldingBranch 'homebranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -418,10 +491,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_3_4) == 0, 'Any other combination renders no locations'); #Case 12: holdallowed holdgroup, hold_fulfillment_policy holdingbranch - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 3, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 3, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -436,10 +516,17 @@ subtest 'pickup_locations' => sub { t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'holdingbranch'); #Case 13: holdallowed homebranch, hold_fulfillment_policy any, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'any' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'any', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -451,10 +538,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_1_1) == 0, 'Any other combination renders no locations'); #Case 14: holdallowed homebranch, hold_fulfillment_policy holdgroup, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdgroup' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdgroup', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -466,10 +560,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_1_1) == 0, 'Any other combination renders no locations'); #Case 15: holdallowed homebranch, hold_fulfillment_policy homebranch, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'homebranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'homebranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); @@ -481,10 +582,17 @@ subtest 'pickup_locations' => sub { ok(scalar(@pl_3_4) == 0 && scalar(@pl_1_4) == 0 && scalar(@pl_3_1) == 0 && scalar(@pl_1_1) == 0, 'Any combination of patron/item renders no locations'); #Case 16: holdallowed homebranch, hold_fulfillment_policy holdingbranch, HomeOrHoldingBranch 'holdingbranch' - $dbh->do( - q{UPDATE default_circ_rules set holdallowed = ?, hold_fulfillment_policy = ?}, - {}, - 1, 'holdingbranch' + Koha::CirculationRules->set_rules( + { + branchcode => undef, + itemtype => undef, + categorycode => undef, + rules => { + holdallowed => 1, + hold_fulfillment_policy => 'holdingbranch', + returnbranch => 'any' + } + } ); @pl_1_1 = $item1->pickup_locations( { patron => $patron1 } ); diff --git a/t/db_dependent/Koha/Libraries.t b/t/db_dependent/Koha/Libraries.t index 0b2f7271dd..cfa7382c29 100644 --- a/t/db_dependent/Koha/Libraries.t +++ b/t/db_dependent/Koha/Libraries.t @@ -38,6 +38,10 @@ use t::lib::TestBuilder; my $schema = Koha::Database->new->schema; $schema->storage->txn_begin; +# Cleanup default_branch_item_rules +my $dbh = C4::Context->dbh; +$dbh->do('DELETE FROM circulation_rules'); + my $builder = t::lib::TestBuilder->new; my $nb_of_libraries = Koha::Libraries->search->count; my $new_library_1 = Koha::Library->new({ -- 2.17.1