From a71fd8357c9e2de751ee845a2a234229ce40a785 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 3 Jul 2019 08:18:35 -0400 Subject: [PATCH] Bug 22709: (follow-up) Move new test file into a Plugins subdirectory Signed-off-by: Kyle M Hall Signed-off-by: Josef Moravec Signed-off-by: Martin Renvoize --- t/db_dependent/Biblio_and_Items_plugin_hooks.t | 84 -------------------- .../Plugins/Biblio_and_Items_plugin_hooks.t | 84 ++++++++++++++++++++ 2 files changed, 84 insertions(+), 84 deletions(-) delete mode 100755 t/db_dependent/Biblio_and_Items_plugin_hooks.t create mode 100755 t/db_dependent/Plugins/Biblio_and_Items_plugin_hooks.t diff --git a/t/db_dependent/Biblio_and_Items_plugin_hooks.t b/t/db_dependent/Biblio_and_Items_plugin_hooks.t deleted file mode 100755 index 5798724..0000000 --- a/t/db_dependent/Biblio_and_Items_plugin_hooks.t +++ /dev/null @@ -1,84 +0,0 @@ -#!/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 => 4; -use Test::Warn; - -use File::Basename; - -use C4::Items; - -use t::lib::Mocks; -use t::lib::TestBuilder; - -BEGIN { - # Mock pluginsdir before loading Plugins module - my $path = dirname(__FILE__) . '/../lib'; - 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; - -t::lib::Mocks::mock_preference( 'UseKohaPlugins', 1 ); -t::lib::Mocks::mock_config( 'enable_plugins', 1 ); - -subtest 'after_biblio_action() and after_item_action() hooks tests' => sub { - - plan tests => 6; - - $schema->storage->txn_begin; - - my $plugins = Koha::Plugins->new; - $plugins->InstallPlugins; - - my $plugin = Koha::Plugin::Test->new; - - my $biblio_id; - - warning_like { $biblio_id = C4::Biblio::AddBiblio( MARC::Record->new(), '' ); } - qr/after_biblio_action called with action: create, ref: Koha::Biblio/, - 'AddBiblio calls the hook with action=create'; - - warning_like { C4::Biblio::ModBiblio( MARC::Record->new(), $biblio_id, '' ); } - qr/after_biblio_action called with action: modify, ref: Koha::Biblio/, - 'ModBiblio calls the hook with action=modify'; - - my $item; - warning_like { $item = $builder->build_sample_item({ biblionumber => $biblio_id }); } - qr/after_item_action called with action: create, ref: Koha::Item/, - 'AddItem calls the hook with action=create'; - - warning_like { C4::Items::ModItem({ location => 'shelves' }, $biblio_id, $item->itemnumber); } - qr/after_item_action called with action: modify, ref: Koha::Item/, - 'ModItem calls the hook with action=modify'; - - warning_like { C4::Items::DelItem({ itemnumber => $item->itemnumber }); } - qr/after_item_action called with action: delete/, - 'DelItem calls the hook with action=delete, item_id passed'; - - warning_like { C4::Biblio::DelBiblio( $biblio_id ); } - qr/after_biblio_action called with action: delete/, - 'DelBiblio calls the hook with action=delete biblio_id passed'; - - $schema->storage->txn_rollback; -}; diff --git a/t/db_dependent/Plugins/Biblio_and_Items_plugin_hooks.t b/t/db_dependent/Plugins/Biblio_and_Items_plugin_hooks.t new file mode 100755 index 0000000..32a2ce4 --- /dev/null +++ b/t/db_dependent/Plugins/Biblio_and_Items_plugin_hooks.t @@ -0,0 +1,84 @@ +#!/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 => 4; +use Test::Warn; + +use File::Basename; + +use C4::Items; + +use t::lib::Mocks; +use t::lib::TestBuilder; + +BEGIN { + # Mock pluginsdir before loading Plugins module + my $path = dirname(__FILE__) . '/../../lib'; + 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; + +t::lib::Mocks::mock_preference( 'UseKohaPlugins', 1 ); +t::lib::Mocks::mock_config( 'enable_plugins', 1 ); + +subtest 'after_biblio_action() and after_item_action() hooks tests' => sub { + + plan tests => 6; + + $schema->storage->txn_begin; + + my $plugins = Koha::Plugins->new; + $plugins->InstallPlugins; + + my $plugin = Koha::Plugin::Test->new; + + my $biblio_id; + + warning_like { $biblio_id = C4::Biblio::AddBiblio( MARC::Record->new(), '' ); } + qr/after_biblio_action called with action: create, ref: Koha::Biblio/, + 'AddBiblio calls the hook with action=create'; + + warning_like { C4::Biblio::ModBiblio( MARC::Record->new(), $biblio_id, '' ); } + qr/after_biblio_action called with action: modify, ref: Koha::Biblio/, + 'ModBiblio calls the hook with action=modify'; + + my $item; + warning_like { $item = $builder->build_sample_item({ biblionumber => $biblio_id }); } + qr/after_item_action called with action: create, ref: Koha::Item/, + 'AddItem calls the hook with action=create'; + + warning_like { C4::Items::ModItem({ location => 'shelves' }, $biblio_id, $item->itemnumber); } + qr/after_item_action called with action: modify, ref: Koha::Item/, + 'ModItem calls the hook with action=modify'; + + warning_like { C4::Items::DelItem({ itemnumber => $item->itemnumber }); } + qr/after_item_action called with action: delete/, + 'DelItem calls the hook with action=delete, item_id passed'; + + warning_like { C4::Biblio::DelBiblio( $biblio_id ); } + qr/after_biblio_action called with action: delete/, + 'DelBiblio calls the hook with action=delete biblio_id passed'; + + $schema->storage->txn_rollback; +}; -- 1.7.2.5