Browse Source

Bug 25131: Regression tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
20.05.x
Tomás Cohen Arazi 4 years ago
committed by Martin Renvoize
parent
commit
8992bb2e6f
Signed by: martin.renvoize GPG Key ID: 422B469130441A0F
  1. 52
      t/db_dependent/Koha/REST/Plugin/PluginRoutes.t

52
t/db_dependent/Koha/REST/Plugin/PluginRoutes.t

@ -17,7 +17,7 @@
use Modern::Perl;
use Test::More tests => 2;
use Test::More tests => 3;
use Test::Mojo;
use Test::Warn;
@ -118,6 +118,56 @@ subtest 'Disabled plugins tests' => sub {
$schema->storage->txn_rollback;
};
subtest 'needs_install use case tests' => sub {
plan tests => 2;
$schema->storage->txn_begin;
# enable plugins
t::lib::Mocks::mock_config( 'enable_plugins', 1 );
my $good_plugin;
my $plugins = Koha::Plugins->new;
$plugins->InstallPlugins;
my @plugins = $plugins->GetPlugins( { all => 1 } );
foreach my $plugin (@plugins) {
$good_plugin = $plugin
if $plugin->{metadata}->{description} eq 'Test plugin';
}
# mock Version before initializing the API class
t::lib::Mocks::mock_preference('Version', undef);
# initialize Koha::REST::V1 after mocking
my $t = Test::Mojo->new('Koha::REST::V1');
my $routes = get_defined_routes($t);
# Support placeholders () and <> (latter style used starting with Mojolicious::Plugin::OpenAPI@1.28)
# TODO: remove () if minimum version is bumped to at least 1.28.
ok(
!exists $routes->{'/contrib/testplugin/patrons/(:patron_id)/bother'}
&& !exists $routes->{'/contrib/testplugin/patrons/<:patron_id>/bother'},
'Plugin enabled, route not defined as C4::Context->needs_install is true'
);
t::lib::Mocks::mock_preference('Version', '3.0.0');
# re-initialize Koha::REST::V1 after mocking
$t = Test::Mojo->new('Koha::REST::V1');
$routes = get_defined_routes($t);
# Support placeholders () and <> (latter style used starting with Mojolicious::Plugin::OpenAPI@1.28)
# TODO: remove () if minimum version is bumped to at least 1.28.
ok(
exists $routes->{'/contrib/testplugin/patrons/(:patron_id)/bother'}
|| exists $routes->{'/contrib/testplugin/patrons/<:patron_id>/bother'},
'Plugin enabled, route defined as C4::Context->needs_install is false'
);
$schema->storage->txn_rollback;
};
sub get_defined_routes {
my ($t) = @_;
my $routes = {};

Loading…
Cancel
Save