use Koha::Reports;
use Koha::Notice::Messages;
-use_ok('C4::Reports::Guided');
+use_ok('C4::Reports::Guided', qw( execute_query save_report delete_report strip_limit GetReservedAuthorisedValues IsAuthorisedValueValid GetParametersFromSQL ValidateSQLParameters get_saved_reports update_sql get_report_areas convert_sql EmailReport nb_rows ));
can_ok(
'C4::Reports::Guided',
qw(save_report delete_report execute_query)
'cn_source' => 1,
'categorycode' => 1,
'biblio_framework' => 1,
+ 'list' => 1,
);
my $reserved_authorised_values = GetReservedAuthorisedValues();
};
subtest 'IsAuthorisedValueValid' => sub {
- plan tests => 8;
+ plan tests => 9;
ok( IsAuthorisedValueValid('LOC'),
'User defined authorised value category is valid');
ok( 0 < scalar @{ get_saved_reports( $report_ids[0] ) }, "filter takes report id" );
my $r1 = Koha::Reports->find($report_ids[0]);
- $r1 = update_sql($r1->id, { borrowernumber => $r1->borrowernumber, name => 'Just another report' });
+ $r1 = update_sql($r1->id, { %{$r1->unblessed}, borrowernumber => $r1->borrowernumber, name => 'Just another report' });
is( $r1->cache_expiry, 300, 'cache_expiry has the correct default value, from DBMS' );
#Test delete_report
warning_like {local $dbh->{RaiseError} = 0; ($sth, $errors) = execute_query(
'SELECT surname FRM borrowers', # error in the query is intentional
0, 10 ) }
- qr/^DBD::mysql::st execute failed: You have an error in your SQL syntax;/,
+ qr/DBD::mysql::st execute failed: You have an error in your SQL syntax;/,
"Wrong SQL syntax raises warning";
ok(
defined($errors) && exists($errors->{queryerr}),
# for next test, we want to let execute_query capture any SQL errors
warning_like { local $dbh->{RaiseError} = 0; ($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report2, module => $letter1->{module} , code => $letter1->{code} }) }
- qr/^DBD::mysql::st execute failed/,
+ qr/DBD::mysql::st execute failed/,
'Error from bad report';
is( $errors->[0]{FATAL}, 'REPORT_FAIL', "Bad report returns failure");
# for next test, we want to let execute_query capture any SQL errors
warning_like
- { local $dbh->{RaiseError} = 0; $nb_rows = nb_rows( $bad_query ) }
- qr/^DBD::mysql::st execute failed:/,
+ { $nb_rows = nb_rows( $bad_query ) }
+ qr/DBD::mysql::st execute failed:/,
'Bad queries raise a warning';
is( $nb_rows, 0, 'nb_rows returns 0 on bad queries' );