View | Details | Raw Unified | Return to bug 7804
Collapse All | Expand All

(-)a/t/Koha/Plugin/Test.pm (+53 lines)
Line 0 Link Here
1
package Koha::Plugin::Test;
2
3
## It's good practive to use Modern::Perl
4
use Modern::Perl;
5
6
## Required for all plugins
7
use base qw(Koha::Plugins::Base);
8
9
our $VERSION = 1.01;
10
our $metadata = {
11
    name            => 'Test Plugin',
12
    author          => 'Kyle M Hall',
13
    description     => 'Test plugin',
14
    date_authored   => '2013-01-14',
15
    date_updated    => '2013-01-14',
16
    minimum_version => '3.11',
17
    maximum_version => undef,
18
    version         => $VERSION,
19
};
20
21
## This is the minimum code required for a plugin's 'new' method
22
## More can be added, but none should be removed
23
sub new {
24
    my ( $class, $args ) = @_;
25
    $args->{'metadata'} = $metadata;
26
    my $self = $class->SUPER::new($args);
27
    return $self;
28
}
29
30
sub report {
31
    my ( $self, $args ) = @_;
32
    return 1;
33
}
34
35
sub tool {
36
    my ( $self, $args ) = @_;
37
    return 1;
38
}
39
40
sub configure {
41
    my ( $self, $args ) = @_;
42
    return 1;
43
}
44
45
sub install {
46
    my ( $self, $args ) = @_;
47
    return 1;
48
}
49
50
sub uninstall {
51
    my ( $self, $args ) = @_;
52
    return 1;
53
}
(-)a/t/Plugins.t (-1 / +39 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
use strict;
4
use warnings;
5
6
use Test::More tests => 15;
7
8
use Module::Load::Conditional qw(can_load);
9
10
use C4::Context;
11
12
BEGIN {
13
    die('Plugins not enabled in config') unless ( C4::Context->config("enable_plugins") );
14
15
    push( @INC, '.' );
16
    use_ok('Koha::Plugins');
17
    use_ok('Koha::Plugins::Handler');
18
    use_ok('Koha::Plugins::Base');
19
    use_ok('Koha::Plugin::Test');
20
}
21
22
ok( can_load( modules => { "Koha::Plugin::Test" => undef } ), 'Test can_load' );
23
24
my $plugin = Koha::Plugin::Test->new();
25
26
isa_ok( $plugin, "Koha::Plugin::Test", 'Test plugin class' );
27
isa_ok( $plugin, "Koha::Plugins::Base", 'Test plugin parent class' );
28
29
ok( $plugin->can('report'), 'Test plugin can report' );
30
ok( $plugin->can('tool'), 'Test plugin can tool' );
31
ok( $plugin->can('configure'), 'Test plugin can configure' );
32
ok( $plugin->can('install'), 'Test plugin can install' );
33
ok( $plugin->can('uninstall'), 'Test plugin can install' );
34
35
my $metadata = $plugin->get_metadata();
36
ok( $metadata->{'name'} eq 'Test Plugin', 'Test $plugin->get_metadata()' );
37
38
ok( $plugin->get_qualified_table_name('mytable') eq 'koha_plugin_test_mytable', 'Test $plugin->get_qualified_table_name()' );
39
ok( $plugin->get_plugin_http_path() eq '/plugin/Koha/Plugin/Test', 'Test $plugin->get_plugin_http_path()' );

Return to bug 7804