@@ -, +, @@ C4::Reports::Report_Guided.pm need unit tests --- t/db_dependent/Reports_Guided.t | 47 ++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) --- a/t/db_dependent/Reports_Guided.t +++ a/t/db_dependent/Reports_Guided.t @@ -1,14 +1,51 @@ #!/usr/bin/perl # -# This Koha test module is a stub! +# This Koha test module is a stub! # Add more tests here!!! -use strict; -use warnings; +use Modern::Perl; -use Test::More tests => 1; +use Test::More tests => 7; + +use C4::Context; BEGIN { - use_ok('C4::Reports::Guided'); + use_ok('C4::Reports::Guided'); } +can_ok( 'C4::Reports::Guided', + qw(save_report + delete_report) +); + +#Start transaction +my $dbh = C4::Context->dbh; +$dbh->{RaiseError} = 1; +$dbh->{AutoCommit} = 0; + +$dbh->do(q|DELETE FROM saved_sql|); + +#Start tests + +#Test save_report +my $count = scalar (keys get_saved_reports()); +is ($count , 0, "There is no report"); +my $sample_report1 = {borrowernumber => 1,savedsql => 'SQL1',name => 'Name1' , +area => 'area1' ,group => 'group1' ,subgroup => 'subgroup1',type => 'type1',notes => 'note1',cache_expiry => 'null' ,public => 'null'}; +my $sample_report2 = {borrowernumber => 2,savedsql => 'SQL2',name => 'Name2' , +area => 'area2' ,group => 'group2' ,subgroup => 'subgroup2',type => 'type2',notes => 'note2',cache_expiry => 'null' ,public => 'null'}; +my $report_id1 = save_report($sample_report1); +my $report_id2 = save_report($sample_report2); +like($report_id1,'/^\d+$/',"Save_report returns an id"); +like($report_id2,'/^\d+$/',"Save_report returns an id"); +is ( scalar (keys get_saved_reports()),$count + 2 , "Report1 and report2 have been added"); + +#Test delete_report +#It would be better if delete_report has return values +delete_report($report_id1,$report_id2); +is ( scalar (keys get_saved_reports()),$count , "Report1 and report2 have been deleted"); +#FIX ME: Currently, this test doesn't pass because delete_report doesn't test if one or more parameters are given +#is (deleted_report(),undef, "Without id deleted_report returns undef"); + +#End transaction +$dbh->rollback; --