From 2cb50e85a0ae9ad803ac8c1506a1f6c6402454e0 Mon Sep 17 00:00:00 2001 From: Baptiste Date: Mon, 9 Dec 2024 14:35:24 +0100 Subject: [PATCH] Bug 35292: Move tests of UpdateNotforloan together Note: These patches have been split for sake of understandability for review but they should probably be squashed --- t/db_dependent/Circulation/issue.t | 82 +++++++++++++++++------------- 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/t/db_dependent/Circulation/issue.t b/t/db_dependent/Circulation/issue.t index aff60236c25..7352505a3b7 100755 --- a/t/db_dependent/Circulation/issue.t +++ b/t/db_dependent/Circulation/issue.t @@ -513,6 +513,53 @@ is( q{UpdateNotForLoanStatusOnCheckin does not update notforloan value for specific itemtype from 1 with setting "1: ONLYMESSAGE"} ); +############################################## +# +# UpdateNotForLoanStatusOnCheckout +# +############################################## + +my $itemnumber4 = Koha::Item->new( + { + biblionumber => $biblionumber, + barcode => 'barcode_6', + itemcallnumber => 'callnumber6', + homebranch => $branchcode_1, + holdingbranch => $branchcode_1, + notforloan => -1, + itype => $itemtype, + location => 'loc1' + }, +)->store->itemnumber; + +t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckout', q{} ); +AddIssue( $patron_2, 'barcode_6', dt_from_string ); +$item = Koha::Items->find($itemnumber4); +ok( $item->notforloan eq -1, 'UpdateNotForLoanStatusOnCheckout does not modify value when not enabled' ); + +t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckout', '-1: 0' ); +AddReturn( 'barcode_6', $branchcode_1 ); +my $test = AddIssue( $patron_2, 'barcode_6', dt_from_string ); +$item = Koha::Items->find($itemnumber4); +ok( + $item->notforloan eq 0, + q{UpdateNotForLoanStatusOnCheckout updates notforloan value from -1 to 0 with setting "-1: 0"} +); + +AddIssue( $patron_2, 'barcode_6', dt_from_string ); +AddReturn( 'barcode_6', $branchcode_1 ); +$item = Koha::Items->find($itemnumber4); +ok( + $item->notforloan eq 0, + q{UpdateNotForLoanStatusOnCheckout does not update notforloan value from 0 with setting "-1: 0"} +); + +########################################## +# +# END UpdateNotforloanOnCheckout +# +########################################## + my $itemnumber2 = Koha::Item->new( { biblionumber => $biblionumber, @@ -695,41 +742,6 @@ AddRenewal( my ($unseen_reset) = ( C4::Circulation::GetRenewCount( $unseen_patron->borrowernumber, $unseen_item->itemnumber ) )[3]; is( $unseen_reset, 0, 'seen renewal resets the unseen count' ); -my $itemnumber4 = Koha::Item->new( - { - biblionumber => $biblionumber, - barcode => 'barcode_6', - itemcallnumber => 'callnumber6', - homebranch => $branchcode_1, - holdingbranch => $branchcode_1, - notforloan => -1, - itype => $itemtype, - location => 'loc1' - }, -)->store->itemnumber; - -t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckout', q{} ); -AddIssue( $patron_2, 'barcode_6', dt_from_string ); -$item = Koha::Items->find($itemnumber4); -ok( $item->notforloan eq -1, 'UpdateNotForLoanStatusOnCheckout does not modify value when not enabled' ); - -t::lib::Mocks::mock_preference( 'UpdateNotForLoanStatusOnCheckout', '-1: 0' ); -AddReturn( 'barcode_6', $branchcode_1 ); -my $test = AddIssue( $patron_2, 'barcode_6', dt_from_string ); -$item = Koha::Items->find($itemnumber4); -ok( - $item->notforloan eq 0, - q{UpdateNotForLoanStatusOnCheckout updates notforloan value from -1 to 0 with setting "-1: 0"} -); - -AddIssue( $patron_2, 'barcode_6', dt_from_string ); -AddReturn( 'barcode_6', $branchcode_1 ); -$item = Koha::Items->find($itemnumber4); -ok( - $item->notforloan eq 0, - q{UpdateNotForLoanStatusOnCheckout does not update notforloan value from 0 with setting "-1: 0"} -); - # Bug 21159 - Update item shelving location on checkout my $itemnumber5 = Koha::Item->new( { -- 2.30.2