X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=t%2Fdb_dependent%2FCirculation.t;h=6b2520809ba1d28d630497a0b23ed7e0b00842b7;hb=bcf27a9cf0f80654f134621c17cdf4adef5987f3;hp=aa2a969da90ad82a343914d24c1f80c30ee60acc;hpb=0d5f73d9b093c76982c629562d17b9328844c103;p=koha_fer diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index aa2a969da9..6b2520809b 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -9,7 +9,7 @@ use C4::Items; use C4::Members; use C4::Reserves; -use Test::More tests => 44; +use Test::More tests => 48; BEGIN { use_ok('C4::Circulation'); @@ -201,6 +201,17 @@ C4::Context->dbh->do("DELETE FROM accountlines"); $biblionumber ); + my $barcode3 = 'R00000346'; + my ( $item_bibnum3, $item_bibitemnum3, $itemnumber3 ) = AddItem( + { + homebranch => $branch, + holdingbranch => $branch, + barcode => $barcode3, + replacementprice => 23.00 + }, + $biblionumber + ); + # Create 2 borrowers my %renewing_borrower_data = ( firstname => 'John', @@ -259,8 +270,14 @@ C4::Context->dbh->do("DELETE FROM accountlines"); is( $error, 'on_reserve', '(Bug 10663) Cannot renew, reserved (returned error is on_reserve)'); my $reserveid = C4::Reserves::GetReserveId({ biblionumber => $biblionumber, borrowernumber => $reserving_borrowernumber}); - CancelReserve({ reserve_id => $reserveid }); - + my $reserving_borrower = GetMember( borrowernumber => $reserving_borrowernumber ); + AddIssue($reserving_borrower, $barcode3); + my $reserve = $dbh->selectrow_hashref( + 'SELECT * FROM old_reserves WHERE reserve_id = ?', + { Slice => {} }, + $reserveid + ); + is($reserve->{found}, 'F', 'hold marked completed when checking out item that fills it'); diag("Item-level hold, renewal test"); AddReserve( @@ -288,10 +305,22 @@ C4::Context->dbh->do("DELETE FROM accountlines"); $reserveid = C4::Reserves::GetReserveId({ biblionumber => $biblionumber, itemnumber => $itemnumber, borrowernumber => $reserving_borrowernumber}); CancelReserve({ reserve_id => $reserveid }); + # set policy to require that loans cannot be + # renewed until seven days prior to the due date + $dbh->do('UPDATE issuingrules SET norenewalbefore = 7'); + ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber); + is( $renewokay, 0, 'Cannot renew, renewal is premature'); + is( $error, 'too_soon', 'Cannot renew, renewal is premature (returned code is too_soon)'); + is( + GetSoonestRenewDate($renewing_borrowernumber, $itemnumber), + $datedue->clone->add(days => -7), + 'renewals permitted 7 days before due date, as expected', + ); + diag("Too many renewals"); # set policy to forbid renewals - $dbh->do('UPDATE issuingrules SET renewalsallowed = 0'); + $dbh->do('UPDATE issuingrules SET norenewalbefore = NULL, renewalsallowed = 0'); ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber); is( $renewokay, 0, 'Cannot renew, 0 renewals allowed');