From 9cdde8d8f392bb454d7ebf2a597762882747fdcc Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 14 Jun 2017 11:32:30 -0300 Subject: [PATCH] Bug 18802: Fix Circulation.t if finesMode ne 'production' If finesMode is not set to production, only 1 fine will be created (the renewal one will not). This is what assumes the tests. If set to 'production', the tests will fail because the fines will not be deleted (because of the DBIx::Class) warning. prove t/db_dependent/Circulation.t t/db_dependent/Circulation.t .. 16/95 DBIx::Class::Storage::DBI::select_single(): Query returned more than one row. SQL that returns multiple rows is DEPRECATED for ->find and ->single at t/db_dependent/Circulation.t line 491 t/db_dependent/Circulation.t .. 56/95 # Failed test 'Can auto renew, OPACFineNoRenewals=10, patron has 10' # at t/db_dependent/Circulation.t line 670. # got: 'auto_too_much_oweing' # expected: 'auto_renew' # Looks like you failed 1 test of 6. Test plan: prove t/db_dependent/Circulation.t should return green whatever the value of finesMode Signed-off-by: Alex Buckley --- t/db_dependent/Circulation.t | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index 9319924..9a3d2ee 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -489,10 +489,16 @@ C4::Context->dbh->do("DELETE FROM accountlines"); $new_log_size = scalar(@{GetLogs( $date, $date, undef,["CIRCULATION"], ["RENEWAL"]) } ); is ($new_log_size, $old_log_size + 1, 'renew log successfully added'); - - $fine = $schema->resultset('Accountline')->single( { borrowernumber => $renewing_borrower->{borrowernumber}, itemnumber => $itemnumber7 } ); - is( $fine->accounttype, 'F', 'Fine on renewed item is closed out properly' ); - $fine->delete(); + my $fines = Koha::Account::Lines->search( { borrowernumber => $renewing_borrower->{borrowernumber}, itemnumber => $itemnumber7 } ); + if ( C4::Context->preference('finesMode') eq 'production' ) { + is( $fines->count, 2 ); + is( $fines->next->accounttype, 'F', 'Fine on renewed item is closed out properly' ); + is( $fines->next->accounttype, 'F', 'Fine on renewed item is closed out properly' ); + } else { + is( $fines->count, 1 ); + is( $fines->next->accounttype, 'F', 'Fine on renewed item is closed out properly' ); + } + $fines->delete(); t::lib::Mocks::mock_preference('OverduesBlockRenewing','blockitem'); ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6); -- 2.1.4