Bugzilla – Attachment 164684 Details for
Bug 25408
CanBookBeReserved & CanItemBeReserved should check "opacitemholds" policy
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 25408: Added unit tests for opacitemholds policy
Bug-25408-Added-unit-tests-for-opacitemholds-polic.patch (text/plain), 5.70 KB, created by
Arthur Suzuki
on 2024-04-11 12:48:19 UTC
(
hide
)
Description:
Bug 25408: Added unit tests for opacitemholds policy
Filename:
MIME Type:
Creator:
Arthur Suzuki
Created:
2024-04-11 12:48:19 UTC
Size:
5.70 KB
patch
obsolete
>From 092cb61fe457186b32b16f73d408198ffcac5c27 Mon Sep 17 00:00:00 2001 >From: Arthur Suzuki <arthur.suzuki@biblibre.com> >Date: Thu, 11 Apr 2024 14:03:16 +0200 >Subject: [PATCH] Bug 25408: Added unit tests for opacitemholds policy > >--- > t/db_dependent/Reserves.t | 122 +++++++++++++++++++++++++++++++++++--- > 1 file changed, 113 insertions(+), 9 deletions(-) > >diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t >index 83b84bbc2d0..ed4b64db465 100755 >--- a/t/db_dependent/Reserves.t >+++ b/t/db_dependent/Reserves.t >@@ -978,22 +978,18 @@ subtest 'ChargeReserveFee tests' => sub { > }; > > subtest 'reserves.item_level_hold' => sub { >- plan tests => 2; >+ plan tests => 4; > > my $item = $builder->build_sample_item; >- my $patron = $builder->build_object( >- { >- class => 'Koha::Patrons', >- value => { branchcode => $item->homebranch } >- } >- ); >+ my $patron = $builder->build_object({ class => "Koha::Patrons" }); >+ $patron->branchcode( $item->homebranch ); > > subtest 'item level hold' => sub { > plan tests => 5; > my $reserve_id = AddReserve( > { > branchcode => $item->homebranch, >- borrowernumber => $patron->borrowernumber, >+ borrowernumber => $patron->id, > biblionumber => $item->biblionumber, > priority => 1, > itemnumber => $item->itemnumber, >@@ -1004,7 +1000,7 @@ subtest 'reserves.item_level_hold' => sub { > is( $hold->item_level_hold, 1, 'item_level_hold should be set when AddReserve is called with a specific item' ); > > # Mark it waiting >- ModReserveAffect( $item->itemnumber, $patron->borrowernumber, 1 ); >+ ModReserveAffect( $item->itemnumber, $patron->id, 1 ); > > my $mock = Test::MockModule->new('Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue'); > $mock->mock( 'enqueue', sub { >@@ -1081,6 +1077,114 @@ subtest 'reserves.item_level_hold' => sub { > $hold->delete; > }; > >+ subtest 'test opacitemholds rules' => sub { >+ plan tests => 6; >+ >+ Koha::CirculationRules->set_rules( >+ { >+ branchcode => undef, >+ categorycode => undef, >+ itemtype => undef, >+ rules => { >+ reservesallowed => 25, >+ opacitemholds => 'F', >+ } >+ } >+ ); >+ >+ my $canreserve = C4::Reserves::CanBookBeReserved( $patron->id, $item->biblionumber ); >+ >+ is( $canreserve->{status}, >+ 'recordHoldNotAllowed', >+ 'record-level holds should not be possible with opacitemholds set to "Force"' ); >+ >+ $canreserve = C4::Reserves::CanItemBeReserved( $patron, $item ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'item-level holds should be possible with opacitemholds set to "Force"' ); >+ >+ Koha::CirculationRules->set_rules( >+ { >+ branchcode => undef, >+ categorycode => undef, >+ itemtype => undef, >+ rules => { >+ reservesallowed => 25, >+ opacitemholds => 'N', >+ } >+ } >+ ); >+ >+ $canreserve = C4::Reserves::CanBookBeReserved( $patron->id, $item->biblionumber ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'record-level holds should be possible with opacitemholds set to "No"' ); >+ >+ $canreserve = C4::Reserves::CanItemBeReserved( $patron, $item ); >+ >+ is( $canreserve->{status}, 'recordHoldsOnly', >+ 'item-level holds should not be possible with opacitemholds set to "No"' ); >+ >+ Koha::CirculationRules->set_rules( >+ { >+ branchcode => undef, >+ categorycode => undef, >+ itemtype => undef, >+ rules => { >+ reservesallowed => 25, >+ opacitemholds => 'Y', >+ } >+ } >+ ); >+ >+ $canreserve = C4::Reserves::CanBookBeReserved( $patron->id, $item->biblionumber ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'record-level holds should be possible with opacitemholds set to "Yes"' ); >+ >+ $canreserve = C4::Reserves::CanItemBeReserved( $patron, $item ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'item-level holds should be possible with opacitemholds set to "Yes"' ); >+ }; >+ >+ subtest 'test opacitemholds rules in staff context' => sub { >+ plan tests => 2; >+ >+ C4::Context->interface('intranet'); >+ Koha::CirculationRules->set_rules( >+ { >+ branchcode => undef, >+ categorycode => undef, >+ itemtype => undef, >+ rules => { >+ reservesallowed => 25, >+ opacitemholds => 'N', >+ } >+ } >+ ); >+ >+ my $canreserve = C4::Reserves::CanBookBeReserved( $patron->id, $item->biblionumber ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'record-level holds should be possible with opacitemholds set to "No"' ); >+ >+ $canreserve = C4::Reserves::CanItemBeReserved( $patron, $item ); >+ >+ is( $canreserve->{status}, 'OK', >+ 'item-level holds should still be possible in staff context, even with opacitemholds set to "No"' ); >+ }; >+ >+ Koha::CirculationRules->set_rules( >+ { >+ branchcode => undef, >+ categorycode => undef, >+ itemtype => undef, >+ rules => { >+ opacitemholds => undef, >+ } >+ } >+ ); > }; > > subtest 'MoveReserve additional test' => sub { >-- >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 25408
:
104488
|
104496
|
105988
|
105989
|
105990
|
106413
|
106414
|
106521
|
106535
|
106536
|
106537
|
107777
|
107778
|
107779
|
107780
|
111681
|
111682
|
111693
|
111696
|
111716
|
111717
|
111718
|
111719
|
111720
|
111721
|
115125
|
115126
|
115127
|
115128
|
115129
|
115130
|
121524
|
121525
|
121526
|
121527
|
121528
|
121530
|
128505
|
130180
|
130181
|
132658
|
132660
|
132661
|
164680
|
164681
|
164682
|
164684
|
164685
|
164686
|
164693
|
164694
|
164878
|
164879
|
165111
|
165112
|
165442
|
165443
|
165444
|
165445