From e907d5b3b52c8eef0eb7c3a032bc3fe52bfd4dd8 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 | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index f26f2f3255..3db9a30d60 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -278,7 +278,7 @@ Koha::CirculationRules->set_rules( my ( $reused_itemnumber_1, $reused_itemnumber_2 ); subtest "CanBookBeRenewed tests" => sub { - plan tests => 83; + plan tests => 85; C4::Context->set_preference('ItemsDeniedRenewal',''); # Generate test biblio @@ -1151,6 +1151,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 2a75da7de4..665d0c3f5e 100755 --- 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; @@ -297,6 +298,20 @@ subtest 'Show that AddRenewal respects OpacRenewalBranch and interface' => sub { } }; +# 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.20.1