From bb62f3b5126d1615f2bc1a3a1caf53fc61013119 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Fri, 20 Dec 2024 12:00:33 +0000 Subject: [PATCH] Bug 38761: Add tests prove t/db_dependent/Koha/ILL/Request/Config.t Signed-off-by: David Nind Signed-off-by: Martin Renvoize --- t/db_dependent/Koha/ILL/Request/Config.t | 45 ++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/t/db_dependent/Koha/ILL/Request/Config.t b/t/db_dependent/Koha/ILL/Request/Config.t index 2d4b60f2609..1a77666be2f 100755 --- a/t/db_dependent/Koha/ILL/Request/Config.t +++ b/t/db_dependent/Koha/ILL/Request/Config.t @@ -16,6 +16,8 @@ # along with Koha; if not, see . use Modern::Perl; +use File::Basename; +use File::Path qw(make_path remove_tree); use Koha::Database; use t::lib::Mocks; @@ -23,7 +25,17 @@ use t::lib::TestBuilder; use Test::MockObject; use Test::Exception; -use Test::More tests => 6; +use Test::More tests => 9; + +BEGIN { + # Mock pluginsdir before loading Plugins module + my $path = dirname(__FILE__) . '/../../../../lib/plugins'; + t::lib::Mocks::mock_config( 'pluginsdir', $path ); + + use_ok('Koha::Plugins'); + use_ok('Koha::Plugins::Handler'); + use_ok('Koha::Plugin::Test'); +} my $schema = Koha::Database->new->schema; my $builder = t::lib::TestBuilder->new; @@ -489,7 +501,7 @@ subtest 'Final tests' => sub { subtest 'get_backend_plugin_names() tests' => sub { - plan tests => 1; + plan tests => 3; $schema->storage->txn_begin; @@ -500,6 +512,35 @@ subtest 'get_backend_plugin_names() tests' => sub { 'get_backend_plugin_names returns empty list if plugins are disabled' ); + t::lib::Mocks::mock_config( 'enable_plugins', 1 ); + my $koha_plugins = Koha::Plugins->new(); + $koha_plugins->InstallPlugins; + + my @backend_plugins = + $koha_plugins + ? $koha_plugins->GetPlugins( { plugin_class => 'Koha::Plugin::Test' } ) + : (); + my $backend_plugin = $backend_plugins[0]; + + my @backend_plugin_names = $config->get_backend_plugin_names(); + my $backend_plugin_name = $backend_plugin_names[0]; + + is( + $backend_plugin_name, $backend_plugin->get_metadata()->{name}, + 'get_backend_plugin_names returns list of backend plugin names' + ); + + $backend_plugin->disable; + my @after_disable_backend_plugin_names = $config->get_backend_plugin_names(); + my $after_disable_backend_plugin_name = $after_disable_backend_plugin_names[0]; + + is( + $after_disable_backend_plugin_name, undef, + 'get_backend_plugin_names returns empty list if backend plugin is disabled' + ); + + #cleanup + Koha::Plugins::Methods->delete; $schema->storage->txn_rollback; }; -- 2.47.1