Nick Clemens
c05872ff1d
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
92 lines
3.2 KiB
Perl
Executable file
92 lines
3.2 KiB
Perl
Executable file
#!/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 <http://www.gnu.org/licenses>.
|
|
|
|
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;
|
|
};
|