X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=t%2FInstaller_PerlModules.t;h=0a81da024dd965f1b7dccad5fafb8993abcdbade;hb=e87ca2888306ba3e0bf1b4469999772e2ede001a;hp=f64ed85e28a2c4e32f9e1a22e03029a2fcd8ba80;hpb=4f44847c11add59ab7d0c55aeffac1fa2835cc1f;p=koha-ffzg.git diff --git a/t/Installer_PerlModules.t b/t/Installer_PerlModules.t index f64ed85e28..0a81da024d 100755 --- a/t/Installer_PerlModules.t +++ b/t/Installer_PerlModules.t @@ -3,35 +3,36 @@ # This Koha test module is a stub! # Add more tests here!!! -use strict; -use warnings; +use Modern::Perl; -use Test::More tests => 15; +use Test::More tests => 3; +use Test::Warn; BEGIN { use_ok('C4::Installer::PerlModules'); } -my $modules; -ok ($modules = C4::Installer::PerlModules->new(), 'Tests modules object'); -my $prereq_pm = $modules->prereq_pm(); -ok (exists($prereq_pm->{"DBI"}), 'DBI required for installer to run'); -ok (exists($prereq_pm->{"CGI"}), 'CGI required for installer to run' ); -ok (exists($prereq_pm->{"YAML"}), 'YAML required for installer to run'); -is ($modules->required('module'=>"DBI"),1, 'DBI should return 1 since required'); -is ($modules->required('module'=>"thisdoesn'texist"),-1, 'string should return -1 since not in hash'); -my $required = $modules->required('required'=>1); -my %params = map { $_ => 1 } @$required; -ok (exists($params{"DBI"}), 'DBI required for installer to run'); -my $optional = $modules->required('optional'=>1); -%params = map { $_ => 1 } @$optional; -ok (exists($params{"Test::Strict"}), 'test::strict optional for installer to run'); -is ($optional = $modules->required('spaghetti'=>1),-1, '-1 returned when parsing in unknown parameter'); -my $version_info = $modules->version_info('module'=>"DBI"); -ok (exists($version_info->{'DBI'}->{"required"}), 'required exists'); -ok (exists($version_info->{'DBI'}->{"upgrade"}), 'upgrade exists'); -is ($modules->version_info('module'=>"thisdoesn'texist"),-1, 'thisdoesntexist should return -1'); -ok ($modules->module_count() >10 , 'count should be greater than 10'); -my @module_list = $modules->module_list; -%params = map { $_ => 1 } @module_list; -ok (exists($params{"DBI"}), 'DBI exists in array'); +subtest 'prereq_pm' => sub { + my $modules; + ok ($modules = C4::Installer::PerlModules->new(), 'Tests modules object'); + my $prereq_pm = $modules->prereq_pm(); + ok (exists($prereq_pm->{"DBI"}), 'DBI required for installer to run'); + ok (exists($prereq_pm->{"CGI"}), 'CGI required for installer to run' ); + ok (exists($prereq_pm->{"YAML::XS"}), 'YAML::XS required for installer to run'); +}; + +subtest 'versions_info' => sub { + plan tests => 5; + my $modules = C4::Installer::PerlModules->new; + warning_is { $modules->versions_info } undef, 'No warnings from versions_info'; + ok( exists $modules->{missing_pm}, 'versions_info fills the missing_pm key' ); + ok( exists $modules->{upgrade_pm}, 'versions_info fills the upgrade_pm key' ); + ok( exists $modules->{current_pm}, 'versions_info fills the current_pm key' ); + my $missing_modules = $modules->get_attr( 'missing_pm' ); + my $upgrade_modules = $modules->get_attr( 'upgrade_pm' ); + my $current_modules = $modules->get_attr( 'current_pm' ); + my $dbi_is_missing = grep { exists $_->{DBI} ? 1 : () } @$missing_modules; + my $dbi_is_upgrade = grep { exists $_->{DBI} ? 1 : () } @$upgrade_modules; + my $dbi_is_current = grep { exists $_->{DBI} ? 1 : () } @$current_modules; + ok( $dbi_is_missing || $dbi_is_upgrade || $dbi_is_current, 'DBI should either be missing, upgrade or current' ); +};