Koha/t/Koha_Template_Plugin_Koha.t
Fridolin Somers f6c322e325
Bug 20415: add Koha.ArePluginsEnabled Template Toolkit method
In order to remove UseKohaPlugins syspref, adds to Koha Template Toolkit
plugin a method ArePluginsEnabled().

Test plan:
1) Set syspref UseKohaPlugins enabled
2) Set config enable_plugins=1
3) Check you see "Tool plugins" in "Tools" home page and menu
4) Check you see "Manage plugins" in "Koha administration" home page
5) Check you see "Report plugins" in "Reports" home page and menu
6) Set config enable_plugins=0
7) Check you don't see in 3) 4) 5)
8) Run prove t/Koha_Template_Plugin_Koha.t

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-26 11:41:54 +00:00

90 lines
2.8 KiB
Perl

#!/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 => 4;
use Test::MockModule;
use t::lib::Mocks;
use String::Random;
# Test the plugin is usable
use_ok( 'Koha::Template::Plugin::Koha' );
ok( my $cache = Koha::Template::Plugin::Koha->new() );
subtest "Koha::Template::Plugin::Koha::Version tests" => sub {
plan tests => 2;
# Variables for mocking Koha::version()
my $major;
my $minor;
my $maintenance;
my $development;
# Mock Koha::version()
my $koha = new Test::MockModule('Koha');
$koha->mock( 'version', sub {
return "$major.$minor.$maintenance.$development";
});
my $rnd = new String::Random;
# development version test
$major = $rnd->randregex('\d');
$minor = $rnd->randregex('\d\d');
$maintenance = $rnd->randregex('\d\d');
$development = $rnd->randregex('\d\d\d');
my $version = "$major.$minor.$maintenance.$development";
my $res = Koha::Template::Plugin::Koha::Version( $version );
is_deeply( $res, {
major => $major,
minor => $minor,
release => $major . "." . $minor,
maintenance => $major . "." . $minor . "." . $maintenance,
development => $development
}, "Correct development version");
# maintenance release test
$major = $rnd->randregex('\d');
$minor = $rnd->randregex('\d\d');
$maintenance = $rnd->randregex('\d\d');
$development = "000";
$version = "$major.$minor.$maintenance.$development";
$res = Koha::Template::Plugin::Koha::Version( $version );
is_deeply( $res, {
major => $major,
minor => $minor,
release => $major . "." . $minor,
maintenance => $major . "." . $minor . "." . $maintenance,
development => undef
}, "Correct maintenance version");
};
subtest "Koha::Template::Plugin::Koha::ArePluginsEnabled tests" => sub {
plan tests => 2;
t::lib::Mocks::mock_config( 'enable_plugins', 1 );
is(Koha::Template::Plugin::Koha::ArePluginsEnabled(), 1, "Correct ArePluginsEnabled is yes");
t::lib::Mocks::mock_config( 'enable_plugins', 0 );
is(Koha::Template::Plugin::Koha::ArePluginsEnabled(), 0, "Correct ArePluginsEnabled is no");
};