Bugzilla – Attachment 176481 Details for
Bug 37334
Cannot filter holdings table by status
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37334: Add filter_by_available tests
Bug-37334-Add-filterbyavailable-tests.patch (text/plain), 4.75 KB, created by
Lucas Gass (lukeg)
on 2025-01-13 23:29:12 UTC
(
hide
)
Description:
Bug 37334: Add filter_by_available tests
Filename:
MIME Type:
Creator:
Lucas Gass (lukeg)
Created:
2025-01-13 23:29:12 UTC
Size:
4.75 KB
patch
obsolete
>From 8b4f40ebd5893b0318882c08b5676cf644643bb5 Mon Sep 17 00:00:00 2001 >From: Lucas Gass <lucas@bywatersolutions.com> >Date: Mon, 13 Jan 2025 23:25:49 +0000 >Subject: [PATCH] Bug 37334: Add filter_by_available tests > >--- > t/db_dependent/Koha/Items.t | 129 +++++++++++++++++++++++++++++++++++- > 1 file changed, 127 insertions(+), 2 deletions(-) > >diff --git a/t/db_dependent/Koha/Items.t b/t/db_dependent/Koha/Items.t >index 79f9ada2229..716396fe8c0 100755 >--- a/t/db_dependent/Koha/Items.t >+++ b/t/db_dependent/Koha/Items.t >@@ -19,7 +19,7 @@ > > use Modern::Perl; > >-use Test::More tests => 25; >+use Test::More tests => 26; > > use Test::MockModule; > use Test::Exception; >@@ -2357,7 +2357,7 @@ subtest 'filter_by_in_bundle' => sub { > my $item_1 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, }); > my $item_2 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, }); > my $item_3 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, }); >- >+ > is ( $biblio->items->filter_by_in_bundle->count, 0, "0 items in a bundle for this record" ); > > my $in_bundle = $item_1->in_bundle; >@@ -2410,3 +2410,128 @@ subtest 'filter_by_has_recalls' => sub { > $schema->storage->txn_rollback; > > }; >+ >+subtest 'filter_by_available' => sub { >+ plan tests => 6; >+ >+ $schema->storage->txn_begin; >+ >+ my $library = $builder->build_object( { class => 'Koha::Libraries' } ); >+ my $biblio = $builder->build_sample_biblio(); >+ my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); >+ t::lib::Mocks::mock_userenv( { branchcode => $patron->branchcode } ); >+ >+ my $item_1 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ library => $library->branchcode, >+ itemlost => 0, >+ withdrawn => 0, >+ damaged => 0, >+ notforloan => 0, >+ onloan => undef, >+ } >+ ); >+ >+ my $item_2 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ library => $library->branchcode, >+ itemlost => 0, >+ withdrawn => 0, >+ damaged => 0, >+ notforloan => 0, >+ onloan => undef, >+ } >+ ); >+ >+ my $item_3 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ library => $library->branchcode, >+ itemlost => 0, >+ withdrawn => 0, >+ damaged => 0, >+ notforloan => 0, >+ onloan => undef, >+ } >+ ); >+ >+ my $item_4 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ library => $library->branchcode, >+ itemlost => 0, >+ withdrawn => 0, >+ damaged => 0, >+ notforloan => 0, >+ onloan => undef, >+ } >+ ); >+ >+ my $item_5 = $builder->build_sample_item( >+ { >+ biblionumber => $biblio->biblionumber, >+ library => $library->branchcode, >+ itemlost => 0, >+ withdrawn => 0, >+ damaged => 0, >+ notforloan => 0, >+ onloan => undef, >+ } >+ ); >+ >+ # Create items with varying states >+ # Test: Initial available items >+ is( >+ $biblio->items->filter_by_available->count, >+ 5, >+ "Filtered to 4 available items" >+ ); >+ >+ # Mark item_1 as lost >+ $item_1->itemlost(3)->store; >+ C4::Circulation::LostItem( $item_1->itemnumber, 1 ); >+ >+ is( >+ $biblio->items->filter_by_available->count, >+ 4, >+ "Filtered to 4 available items, 1 is lost" >+ ); >+ >+ #Mark item_2 as damaged >+ $item_2->damaged(1)->store; >+ >+ is( >+ $biblio->items->filter_by_available->count, >+ 3, >+ "Filtered to 3 available items, 1 is lost, 1 is damaged" >+ ); >+ >+ #Mark item_3 as withdrawn >+ $item_3->withdrawn(1)->store; >+ >+ is( >+ $biblio->items->filter_by_available->count, >+ 2, >+ "Filtered to 2 available items, 1 is lost, 1 is damaged, 1 is withdrawn" >+ ); >+ >+ #Checkout item_4 >+ C4::Circulation::AddIssue( $patron, $item_4->barcode ); >+ is( >+ $biblio->items->filter_by_available->count, >+ 1, >+ "Filtered to 1 available items, 1 is lost, 1 is damaged, 1 is withdrawn, 1 is checked out" >+ ); >+ >+ #Mark item_5 as notforloan >+ $item_5->notforloan(1)->store; >+ is( >+ $biblio->items->filter_by_available->count, >+ 0, >+ "Filtered to 0 available items, 1 is lost, 1 is damaged, 1 is withdrawn, 1 is checked out, 1 is notforloan" >+ ); >+ >+ $schema->storage->txn_rollback; >+}; >-- >2.39.5
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 37334
:
172300
|
172301
|
172302
|
173499
|
173500
|
173501
|
173949
|
173950
|
173951
|
173982
|
174310
|
174798
|
174799
|
174800
|
174801
|
174802
|
174803
|
174804
|
174813
|
174814
|
174901
|
174902
|
174903
|
174955
|
175859
|
175860
|
175861
|
175862
|
175863
|
175864
|
175865
|
175866
|
175867
|
175868
|
175869
|
175870
|
175871
|
175999
|
176000
|
176001
|
176002
|
176003
|
176004
|
176005
|
176006
|
176007
|
176008
|
176009
|
176010
|
176011
|
176023
|
176024
|
176025
|
176026
|
176027
|
176028
|
176029
|
176030
|
176031
|
176032
|
176033
|
176034
|
176035
|
176475
|
176477
|
176480
|
176481
|
177321
|
177415
|
177416
|
177417
|
177418
|
177419
|
177420
|
177421
|
177422
|
177423
|
177424
|
177425
|
177426
|
177427
|
177428
|
177429
|
177430
|
177431
|
177432