From f729f79d90156c921bd85ac54fe9c46f758db235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20Mei=C3=9Fner?= Date: Mon, 19 May 2014 14:00:48 +0200 Subject: [PATCH] [PASSED QA] Bug 11577: Unit tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch fixes two unit tests that broke because of the new feature. Also adds some new test cases. To test: 1) prove t/db_dependent/Circulation.t 2) prove t/db_dependent/Circulation_Issuingrule.t Sponsored-by: Hochschule für Gesundheit (hsg), Germany Signed-off-by: Chris Cormack Signed-off-by: Martin Renvoize --- t/db_dependent/Circulation.t | 32 +++++++++++++++++++++++++++++- t/db_dependent/Circulation_Issuingrule.t | 9 ++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index 4bc565f..3e2d357 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -25,7 +25,7 @@ use C4::Members; use C4::Reserves; use Koha::DateUtils; -use Test::More tests => 49; +use Test::More tests => 53; BEGIN { use_ok('C4::Circulation'); @@ -149,10 +149,12 @@ $dbh->do( q{INSERT INTO issuingrules (categorycode, branchcode, itemtype, reservesallowed, maxissueqty, issuelength, lengthunit, renewalsallowed, renewalperiod, + norenewalbefore, auto_renew, fine, chargeperiod) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, + ?, ?, ?, ? ) }, @@ -160,6 +162,7 @@ $dbh->do( '*', '*', '*', 25, 20, 14, 'days', 1, 7, + '', 0, .10, 1 ); @@ -321,6 +324,25 @@ C4::Context->dbh->do("DELETE FROM accountlines"); $reserveid = C4::Reserves::GetReserveId({ biblionumber => $biblionumber, itemnumber => $itemnumber, borrowernumber => $reserving_borrowernumber}); CancelReserve({ reserve_id => $reserveid }); + # Test automatic renewal before value for "norenewalbefore" in policy is set + my $barcode4 = '11235813'; + my ( $item_bibnum4, $item_bibitemnum4, $itemnumber4 ) = AddItem( + { + homebranch => $branch, + holdingbranch => $branch, + barcode => $barcode4, + replacementprice => 16.00 + }, + $biblionumber + ); + + AddIssue( $renewing_borrower, $barcode4, undef, undef, undef, undef, 1 ); + ( $renewokay, $error ) = + CanBookBeRenewed( $renewing_borrowernumber, $itemnumber4 ); + is( $renewokay, 0, 'Cannot renew, renewal is automatic' ); + is( $error, 'auto_renew', + 'Cannot renew, renewal is automatic (returned code is auto_renew)' ); + # set policy to require that loans cannot be # renewed until seven days prior to the due date $dbh->do('UPDATE issuingrules SET norenewalbefore = 7'); @@ -333,6 +355,14 @@ C4::Context->dbh->do("DELETE FROM accountlines"); 'renewals permitted 7 days before due date, as expected', ); + # Test automatic renewal again + ( $renewokay, $error ) = + CanBookBeRenewed( $renewing_borrowernumber, $itemnumber4 ); + is( $renewokay, 0, 'Cannot renew, renewal is automatic and premature' ); + is( $error, 'auto_too_soon', +'Cannot renew, renewal is automatic and premature (returned code is auto_too_soon)' + ); + # Too many renewals # set policy to forbid renewals diff --git a/t/db_dependent/Circulation_Issuingrule.t b/t/db_dependent/Circulation_Issuingrule.t index 09a36f8..4c52a99 100644 --- a/t/db_dependent/Circulation_Issuingrule.t +++ b/t/db_dependent/Circulation_Issuingrule.t @@ -117,6 +117,7 @@ my $sampleissuingrule1 = { lengthunit => 'Null', renewalperiod => 5, norenewalbefore => 6, + auto_renew => 0, issuelength => 5, chargeperiod => 0, rentaldiscount => '2.000000', @@ -140,6 +141,7 @@ my $sampleissuingrule2 = { renewalsallowed => 'Null', renewalperiod => 2, norenewalbefore => 7, + auto_renew => 0, reservesallowed => 'Null', issuelength => 2, lengthunit => 'Null', @@ -165,6 +167,7 @@ my $sampleissuingrule3 = { renewalsallowed => 'Null', renewalperiod => 3, norenewalbefore => 8, + auto_renew => 0, reservesallowed => 'Null', issuelength => 3, lengthunit => 'Null', @@ -190,6 +193,7 @@ $query = 'INSERT INTO issuingrules ( renewalsallowed, renewalperiod, norenewalbefore, + auto_renew, reservesallowed, issuelength, lengthunit, @@ -206,7 +210,7 @@ $query = 'INSERT INTO issuingrules ( chargename, restrictedtype, maxsuspensiondays - ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; + ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; my $sth = $dbh->prepare($query); $sth->execute( $sampleissuingrule1->{branchcode}, @@ -216,6 +220,7 @@ $sth->execute( $sampleissuingrule1->{renewalsallowed}, $sampleissuingrule1->{renewalperiod}, $sampleissuingrule1->{norenewalbefore}, + $sampleissuingrule1->{auto_renew}, $sampleissuingrule1->{reservesallowed}, $sampleissuingrule1->{issuelength}, $sampleissuingrule1->{lengthunit}, @@ -241,6 +246,7 @@ $sth->execute( $sampleissuingrule2->{renewalsallowed}, $sampleissuingrule2->{renewalperiod}, $sampleissuingrule2->{norenewalbefore}, + $sampleissuingrule1->{auto_renew}, $sampleissuingrule2->{reservesallowed}, $sampleissuingrule2->{issuelength}, $sampleissuingrule2->{lengthunit}, @@ -266,6 +272,7 @@ $sth->execute( $sampleissuingrule3->{renewalsallowed}, $sampleissuingrule3->{renewalperiod}, $sampleissuingrule3->{norenewalbefore}, + $sampleissuingrule1->{auto_renew}, $sampleissuingrule3->{reservesallowed}, $sampleissuingrule3->{issuelength}, $sampleissuingrule3->{lengthunit}, -- 1.7.10.4