From 22aa6ecd478c1c5a08eecb2780f5c0b1b7589b99 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 17 Jun 2019 08:06:23 -0300 Subject: [PATCH] Bug 21073: (QA follow-up) Add ->is_enabled and tests Signed-off-by: Tomas Cohen Arazi Signed-off-by: Kyle M Hall Signed-off-by: Martin Renvoize --- Koha/Plugins/Base.pm | 14 ++++++++++++++ t/db_dependent/Plugins.t | 25 ++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Koha/Plugins/Base.pm b/Koha/Plugins/Base.pm index 392ab4c900..b311a770db 100644 --- a/Koha/Plugins/Base.pm +++ b/Koha/Plugins/Base.pm @@ -272,6 +272,20 @@ sub _version_compare { return 0; } +=head2 is_enabled + +Method that returns wether the plugin is enabled or not + +$plugin->enable + +=cut + +sub is_enabled { + my ($self) = @_; + + return $self->retrieve_data( '__ENABLED__' ); +} + =head2 enable Method for enabling plugin diff --git a/t/db_dependent/Plugins.t b/t/db_dependent/Plugins.t index 53ae26e06e..5723d02c0a 100755 --- a/t/db_dependent/Plugins.t +++ b/t/db_dependent/Plugins.t @@ -23,7 +23,7 @@ use File::Temp qw( tempdir tempfile ); use FindBin qw($Bin); use Module::Load::Conditional qw(can_load); use Test::MockModule; -use Test::More tests => 50; +use Test::More tests => 51; use C4::Context; use Koha::Database; @@ -109,6 +109,29 @@ subtest 'Version upgrade tests' => sub { $schema->storage->txn_rollback; }; +subtest 'is_enabled() tests' => sub { + + plan tests => 3; + $schema->storage->txn_begin; + + # Make sure there's no previous installs or leftovers on DB + Koha::Plugins::Methods->delete; + $schema->resultset('PluginData')->delete; + + my $plugin = Koha::Plugin::Test->new({ enable_plugins => 1, cgi => CGI->new }); + ok( $plugin->is_enabled, 'Plugins enabled by default' ); + + # disable + $plugin->disable; + ok( !$plugin->is_enabled, 'Calling ->disable disables the plugin' ); + + # enable + $plugin->enable; + ok( $plugin->is_enabled, 'Calling ->enable enabled the plugin' ); + + $schema->storage->txn_rollback; +}; + $schema->storage->txn_begin; Koha::Plugins::Methods->delete;