Lines 252-270
subtest 'get_saved_reports' => sub {
Link Here
|
252 |
'running a query with a parameter returned the expected result' |
252 |
'running a query with a parameter returned the expected result' |
253 |
); |
253 |
); |
254 |
|
254 |
|
255 |
# for next test, we want to let execute_query capture any SQL errors |
255 |
{ |
256 |
$dbh->{RaiseError} = 0; |
256 |
local $dbh->{RaiseError} = 0; |
257 |
my $errors; |
257 |
my $errors; |
258 |
warning_like { ($sth, $errors) = execute_query( |
258 |
warning_like { ($sth, $errors) = execute_query( |
259 |
'SELECT surname FRM borrowers', # error in the query is intentional |
259 |
'SELECT surname FRM borrowers', # error in the query is intentional |
260 |
0, 10 ) } |
260 |
0, 10 ) } |
261 |
qr/^DBD::mysql::st execute failed: You have an error in your SQL syntax;/, |
261 |
qr/^DBD::mysql::st execute failed: You have an error in your SQL syntax;/, |
262 |
"Wrong SQL syntax raises warning"; |
262 |
"Wrong SQL syntax raises warning"; |
263 |
ok( |
263 |
ok( |
264 |
defined($errors) && exists($errors->{queryerr}), |
264 |
defined($errors) && exists($errors->{queryerr}), |
265 |
'attempting to run a report with an SQL syntax error returns error message (Bug 12214)' |
265 |
'attempting to run a report with an SQL syntax error returns error message (Bug 12214)' |
266 |
); |
266 |
); |
267 |
$dbh->{RaiseError} = 1; |
267 |
} |
268 |
|
268 |
|
269 |
is_deeply( get_report_areas(), [ 'CIRC', 'CAT', 'PAT', 'ACQ', 'ACC', 'SER' ], |
269 |
is_deeply( get_report_areas(), [ 'CIRC', 'CAT', 'PAT', 'ACQ', 'ACC', 'SER' ], |
270 |
"get_report_areas returns the correct array of report areas"); |
270 |
"get_report_areas returns the correct array of report areas"); |
Lines 367-372
count(h.reservedate) AS 'holds'
Link Here
|
367 |
subtest 'Email report test' => sub { |
367 |
subtest 'Email report test' => sub { |
368 |
|
368 |
|
369 |
plan tests => 12; |
369 |
plan tests => 12; |
|
|
370 |
my $dbh = C4::Context->dbh; |
370 |
|
371 |
|
371 |
my $id1 = $builder->build({ source => 'Borrower',value => { surname => 'mailer', email => 'a@b.com', emailpro => 'b@c.com' } })->{ borrowernumber }; |
372 |
my $id1 = $builder->build({ source => 'Borrower',value => { surname => 'mailer', email => 'a@b.com', emailpro => 'b@c.com' } })->{ borrowernumber }; |
372 |
my $id2 = $builder->build({ source => 'Borrower',value => { surname => 'nomailer', email => undef, emailpro => 'd@e.com' } })->{ borrowernumber }; |
373 |
my $id2 = $builder->build({ source => 'Borrower',value => { surname => 'nomailer', email => undef, emailpro => 'd@e.com' } })->{ borrowernumber }; |
Lines 399-408
subtest 'Email report test' => sub {
Link Here
|
399 |
($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report1, module => $letter1->{module}, code => $letter2->{code}}); |
400 |
($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report1, module => $letter1->{module}, code => $letter2->{code}}); |
400 |
is( $errors->[0]{FATAL}, 'NO_LETTER', "Must have a letter that exists"); |
401 |
is( $errors->[0]{FATAL}, 'NO_LETTER', "Must have a letter that exists"); |
401 |
|
402 |
|
402 |
warning_like { ($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report2, module => $letter1->{module} , code => $letter1->{code} }) } |
403 |
{ |
403 |
qr/^DBD::mysql::st execute failed/, |
404 |
local $dbh->{RaiseError} = 0; |
404 |
'Error from bad report'; |
405 |
warning_like { ($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report2, module => $letter1->{module} , code => $letter1->{code} }) } |
405 |
is( $errors->[0]{FATAL}, 'REPORT_FAIL', "Bad report returns failure"); |
406 |
qr/^DBD::mysql::st execute failed/, |
|
|
407 |
'Error from bad report'; |
408 |
is( $errors->[0]{FATAL}, 'REPORT_FAIL', "Bad report returns failure"); |
409 |
} |
406 |
|
410 |
|
407 |
($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report1, module => $letter1->{module} , code => $letter1->{code} }); |
411 |
($emails, $errors ) = C4::Reports::Guided::EmailReport({report_id => $report1, module => $letter1->{module} , code => $letter1->{code} }); |
408 |
is( $errors->[0]{NO_FROM_COL} == 1 && $errors->[1]{NO_EMAIL_COL} == 2 && $errors->[2]{NO_FROM_COL} == 2, 1, "Correct warnings from the routine"); |
412 |
is( $errors->[0]{NO_FROM_COL} == 1 && $errors->[1]{NO_EMAIL_COL} == 2 && $errors->[2]{NO_FROM_COL} == 2, 1, "Correct warnings from the routine"); |
Lines 429-434
subtest 'nb_rows() tests' => sub {
Link Here
|
429 |
|
433 |
|
430 |
plan tests => 3; |
434 |
plan tests => 3; |
431 |
|
435 |
|
|
|
436 |
my $dbh = C4::Context->dbh; |
432 |
$schema->storage->txn_begin; |
437 |
$schema->storage->txn_begin; |
433 |
|
438 |
|
434 |
my $items_count = Koha::Items->search->count; |
439 |
my $items_count = Koha::Items->search->count; |
Lines 448-459
subtest 'nb_rows() tests' => sub {
Link Here
|
448 |
SELECT * items xxx |
453 |
SELECT * items xxx |
449 |
}; |
454 |
}; |
450 |
|
455 |
|
|
|
456 |
# for next test, we want to let execute_query capture any SQL errors |
457 |
$dbh->{RaiseError} = 0; |
451 |
warning_like |
458 |
warning_like |
452 |
{ $nb_rows = nb_rows( $bad_query ) } |
459 |
{ $nb_rows = nb_rows( $bad_query ) } |
453 |
qr/^DBD::mysql::st execute failed:/, |
460 |
qr/^DBD::mysql::st execute failed:/, |
454 |
'Bad queries raise a warning'; |
461 |
'Bad queries raise a warning'; |
455 |
|
462 |
|
456 |
is( $nb_rows, 0, 'nb_rows returns 0 on bad queries' ); |
463 |
is( $nb_rows, 0, 'nb_rows returns 0 on bad queries' ); |
|
|
464 |
$dbh->{RaiseError} = 0; |
457 |
|
465 |
|
458 |
$schema->storage->txn_rollback; |
466 |
$schema->storage->txn_rollback; |
459 |
}; |
467 |
}; |
460 |
- |
|
|