- [% IF ( dcharp ) %]
+ [% IF ( default_checkout_hold_and_return_policy ) %]
Defaults
@@ -698,7 +698,7 @@
- [% IF (dcharp) %]
+ [% IF ( default_checkout_hold_and_return_policy ) %]
Unset
[% END %]
--- a/t/db_dependent/Template/Plugin/CirculationRules.t
+++ a/t/db_dependent/Template/Plugin/CirculationRules.t
@@ -0,0 +1,93 @@
+#!/usr/bin/perl
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, see .
+
+use Modern::Perl;
+
+use Test::More tests => 2;
+use Test::MockModule;
+
+use Koha::CirculationRules;
+
+use t::lib::TestBuilder;
+use t::lib::Mocks;
+
+BEGIN {
+ use_ok('Koha::Template::Plugin::CirculationRules');
+}
+
+my $schema = Koha::Database->schema;
+my $builder = t::lib::TestBuilder->new;
+
+subtest 'Basic function tests' => sub {
+
+ plan tests => 10;
+
+ $schema->storage->txn_begin;
+
+ my $library_1 = $builder->build_object({ class => 'Koha::Libraries' });
+ my $library_2 = $builder->build_object({ class => 'Koha::Libraries' });
+
+ my $plugin = Koha::Template::Plugin::CirculationRules->new();
+ ok($plugin, "initialized CirculationRules plugin");
+
+ my $rule_value = $plugin->Get($library_1->branchcode,'*','*','maxholds');
+ is($rule_value, undef, 'Max holds not set, Get returns undef');
+
+ $rule_value = $plugin->Search($library_1->branchcode,'*','*','maxholds');
+ is($rule_value, undef, 'Max holds not set, Search returns undef');
+
+ my $rule = $plugin->Search($library_1->branchcode,'*','*','maxholds', { want_rule => 1 } );
+ is($rule, undef, 'Max holds not set, Search with want_rule returns undef');
+
+ Koha::CirculationRules->set_rule(
+ {
+ branchcode => '*',
+ categorycode => '*',
+ rule_name => 'max_holds',
+ rule_value => 5,
+ }
+ );
+
+ Koha::CirculationRules->set_rule(
+ {
+ branchcode => $library_1->branchcode,
+ categorycode => '*',
+ rule_name => 'max_holds',
+ rule_value => "",
+ }
+ );
+
+ $rule_value = $plugin->Get($library_1->branchcode,'*','*','max_holds');
+ is($rule_value, "", 'Max holds set to blank string (unlimited), Get returns blank string for branch');
+
+ $rule = $plugin->Search($library_1->branchcode,'*','*','max_holds', { want_rule => 1 } );
+ is(ref $rule, "Koha::CirculationRule" , 'Max holds set to blank string, Search with want_rule returns a circulation rules object');
+ is( $rule->rule_value, "",'Max holds set to blank string (unlimited), returned rule has correct value');
+
+ $rule_value = $plugin->Get($library_2->branchcode,'*','*','max_holds');
+ is($rule_value, 5, 'Max holds default set to 5, Get returns 5 for branch with no rule set');
+
+ $rule_value = $plugin->Search('*','*','*','max_holds');
+ is($rule_value, 5, 'Search for all libraries max holds rule, Search returns 5');
+
+ $rule_value = $plugin->Search($library_1->branchcode,'*','*','max_holds');
+ is($rule_value, "", 'Max holds set to blank string (unlimited), Get returns blank string for branch');
+
+
+
+ $schema->storage->txn_rollback;
+};
+
--