Bugzilla – Attachment 175320 Details for
Bug 35292
Define itemtype specific rules in the UpdateNotForLoanStatusOnCheckOut system preference
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 35292: Update tests for UpdateNotForloanStatusOnCheckout
Bug-35292-Update-tests-for-UpdateNotForloanStatusO.patch (text/plain), 4.89 KB, created by
Baptiste Wojtkowski (bwoj)
on 2024-12-09 16:35:50 UTC
(
hide
)
Description:
Bug 35292: Update tests for UpdateNotForloanStatusOnCheckout
Filename:
MIME Type:
Creator:
Baptiste Wojtkowski (bwoj)
Created:
2024-12-09 16:35:50 UTC
Size:
4.89 KB
patch
obsolete
>From e6430d386a31a33a53eefebf7f8b48ed961df384 Mon Sep 17 00:00:00 2001 >From: Baptiste <baptiste.wojtkowski@biblibre.com> >Date: Mon, 9 Dec 2024 14:59:14 +0100 >Subject: [PATCH] Bug 35292: Update tests for UpdateNotForloanStatusOnCheckout > >Note: These patches have been split for sake of understandability for >review but they should probably be squashe >--- > t/db_dependent/Circulation/issue.t | 109 +++++++++++++++++++++-------- > 1 file changed, 80 insertions(+), 29 deletions(-) > >diff --git a/t/db_dependent/Circulation/issue.t b/t/db_dependent/Circulation/issue.t >index c384a776a9e..9f0ee4c2e38 100755 >--- a/t/db_dependent/Circulation/issue.t >+++ b/t/db_dependent/Circulation/issue.t >@@ -17,7 +17,7 @@ > > use Modern::Perl; > >-use Test::More tests => 67; >+use Test::More tests => 65; > use DateTime::Duration; > > use t::lib::Mocks; >@@ -496,35 +496,86 @@ is( > # > ############################################## > >-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"} ); >+subtest 'AddReturn: Update notforloanstatus according to UpdateNotForLoanStatusOnCheckout' => sub { >+ plan tests => 5; > >+ 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' ); >+ AddReturn( 'barcode_6', $branchcode_1 ); >+ >+ t::lib::Mocks::mock_preference( >+ 'UpdateNotForLoanStatusOnCheckout', q{ _ALL_: >+ -1: 0 >+ } >+ ); >+ $item->notforloan(-1)->store; >+ 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 "_ALL_: -1: 0"} >+ ); >+ AddReturn( 'barcode_6', $branchcode_1 ); >+ >+ $item->notforloan(1)->store; >+ AddIssue( $patron_2, 'barcode_6', dt_from_string ); >+ $item = Koha::Items->find($itemnumber4); >+ ok( >+ $item->notforloan eq 1, >+ q{UpdateNotForLoanStatusOnCheckout does not update notforloan value from 1 with setting "_ALL_: -1: 0"} >+ ); >+ AddReturn( 'barcode_6', $branchcode_1 ); >+ >+ t::lib::Mocks::mock_preference( >+ 'UpdateNotForLoanStatusOnCheckout', q{ >+ _ALL_: >+ -1: 0 >+ } . $itemtype . q{: >+ -1: 1 >+ } >+ ); >+ >+ $item->notforloan(-1)->store; >+ AddIssue( $patron_2, 'barcode_6', dt_from_string ); >+ $item = Koha::Items->find($itemnumber4); >+ ok( $item->notforloan eq 1, q{UpdateNotForLoanStatusOnCheckout uses the most specific rule to update notforloan } ); >+ AddReturn( 'barcode_6', $branchcode_1 ); >+ >+ t::lib::Mocks::mock_preference( >+ 'UpdateNotForLoanStatusOnCheckout', q{ >+ _ALL_: >+ -1: 0 >+ NOT_} . $itemtype . q{: >+ -1: 1 >+ } >+ ); >+ >+ $item->notforloan(-1)->store; >+ AddIssue( $patron_2, 'barcode_6', dt_from_string ); >+ $item = Koha::Items->find($itemnumber4); >+ ok( >+ $item->notforloan eq 0, >+ q{UpdateNotForLoanStatusOnCheckout uses the default rule (_ALL_) if no rule matches the itype} >+ ); >+ AddReturn( 'barcode_6', $branchcode_1 ); >+ >+ $item->delete; >+}; > > ########################################## > # >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 35292
:
175201
|
175202
|
175203
|
175316
|
175317
|
175318
|
175319
| 175320 |
175321
|
175322