From 95b7eab78c82005e543473c71fe42c15cdf01260 Mon Sep 17 00:00:00 2001 From: Andrew Isherwood Date: Thu, 28 Nov 2019 09:04:38 +0000 Subject: [PATCH] Bug 24083: Add unit tests This patch adds unit tests for unseen renewals Signed-off-by: Sally Healey --- t/db_dependent/Circulation.t | 10 +++++++++- t/db_dependent/Circulation/issue.t | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index 66c3617638..bfb741489a 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -274,7 +274,7 @@ Koha::CirculationRules->set_rules( my ( $reused_itemnumber_1, $reused_itemnumber_2 ); subtest "CanBookBeRenewed tests" => sub { - plan tests => 77; + plan tests => 79; C4::Context->set_preference('ItemsDeniedRenewal',''); # Generate test biblio @@ -1133,6 +1133,14 @@ subtest "CanBookBeRenewed tests" => sub { is( $renewokay, 0, 'Cannot renew, 0 renewals allowed'); is( $error, 'too_many', 'Cannot renew, 0 renewals allowed (returned code is too_many)'); + # Too many unseen renewals + $dbh->do('UPDATE issuingrules SET unseen_renewals_allowed = 2, renewalsallowed = 10'); + $dbh->do('UPDATE issues SET unseen_renewals = 2 where borrowernumber = ? AND itemnumber = ?', undef, ($renewing_borrowernumber, $item_1->itemnumber)); + ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $item_1->itemnumber); + is( $renewokay, 0, 'Cannot renew, 0 unseen renewals allowed'); + is( $error, 'too_unseen', 'Cannot renew, returned code is too_unseen'); + $dbh->do('UPDATE issuingrules SET norenewalbefore = NULL, renewalsallowed = 0'); + # Test WhenLostForgiveFine and WhenLostChargeReplacementFee t::lib::Mocks::mock_preference('WhenLostForgiveFine','1'); t::lib::Mocks::mock_preference('WhenLostChargeReplacementFee','1'); diff --git a/t/db_dependent/Circulation/issue.t b/t/db_dependent/Circulation/issue.t index c2fcbaaf1a..337a7ef725 100644 --- a/t/db_dependent/Circulation/issue.t +++ b/t/db_dependent/Circulation/issue.t @@ -32,6 +32,7 @@ use Koha::Checkouts; use Koha::Database; use Koha::DateUtils; use Koha::Holds; +use Koha::IssuingRules; use Koha::Items; use Koha::Library; use Koha::Patrons; @@ -261,7 +262,19 @@ my $datedue4 = AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issu $stat = $dbh->selectrow_hashref("SELECT * FROM statistics WHERE type = 'renew' AND borrowernumber = ? AND itemnumber = ? AND branch = ?", undef, $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, "Stavromula" ); ok( $stat, "Bug 18572 - 'Bug 18572 - OpacRenewalBranch is now respected" ); +# Unseen rewnewals +t::lib::Mocks::mock_preference('UnseenRenewals', 1); +# Does an unseen renewal increment the issue's count +my ( $unseen_before ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3]; +AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, $branchcode_1, undef, undef, 0 ); +my ( $unseen_after ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3]; +is( $unseen_after, $unseen_before + 1, 'unseen_renewals increments' ); + +# Does a seen renewal reset the unseen count +AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, $branchcode_1, undef, undef, 1 ); +my ( $unseen_reset ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3]; +is( $unseen_reset, 0, 'seen renewal resets the unseen count' ); #Test GetBiblioIssues is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" ); -- 2.11.0