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 / +36 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
BEGIN {
11
    push( @INC, '.' );
12
    use_ok('Koha::Plugins');
13
    use_ok('Koha::Plugins::Handler');
14
    use_ok('Koha::Plugins::Base');
15
    use_ok('Koha::Plugin::Test');
16
}
17
18
19
ok( can_load( modules => { "Koha::Plugin::Test" => undef } ), 'Test can_load' );
20
21
my $plugin = Koha::Plugin::Test->new();
22
23
isa_ok( $plugin, "Koha::Plugin::Test", 'Test plugin class' );
24
isa_ok( $plugin, "Koha::Plugins::Base", 'Test plugin parent class' );
25
26
ok( $plugin->can('report'), 'Test plugin can report' );
27
ok( $plugin->can('tool'), 'Test plugin can tool' );
28
ok( $plugin->can('configure'), 'Test plugin can configure' );
29
ok( $plugin->can('install'), 'Test plugin can install' );
30
ok( $plugin->can('uninstall'), 'Test plugin can install' );
31
32
my $metadata = $plugin->get_metadata();
33
ok( $metadata->{'name'} eq 'Test Plugin', 'Test $plugin->get_metadata()' );
34
35
ok( $plugin->get_qualified_table_name('mytable') eq 'koha_plugin_test_mytable', 'Test $plugin->get_qualified_table_name()' );
36
ok( $plugin->get_plugin_http_path() eq '/plugin/Koha/Plugin/Test', 'Test $plugin->get_plugin_http_path()' );

Return to bug 7804