From 27bc87fed72a7e5499445a35278b76526f1a4a28 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 29 Jan 2021 16:40:27 -0300 Subject: [PATCH] Bug 27580: Regression tests This test makes all the generated sample items have undef copynumber, and all rules are added copynumber => [ 2 ] on the tests as suggested by Andrew on his failing example. The tests are expected to pass. i.e. copynumber is clearly not equal to 2, so those items shouldn't be hidden. To test: 1. Apply this patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Items.t => FAIL: Tests fail! undef is considered in [ 2 ] Signed-off-by: Tomas Cohen Arazi Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart (cherry picked from commit 00ea18282e622805321425789209ed9e0f8f7ea0) Signed-off-by: Fridolin Somers (cherry picked from commit d767dc54a60e233afa9d295798eacc8cbc28a5f1) --- t/db_dependent/Koha/Items.t | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/t/db_dependent/Koha/Items.t b/t/db_dependent/Koha/Items.t index d64159944f..58f31cc21f 100644 --- a/t/db_dependent/Koha/Items.t +++ b/t/db_dependent/Koha/Items.t @@ -268,7 +268,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => -1, itype => $itype_1->itemtype, - withdrawn => 1 + withdrawn => 1, + copynumber => undef } ); my $item_2 = $builder->build_sample_item( @@ -276,7 +277,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => 0, itype => $itype_2->itemtype, - withdrawn => 2 + withdrawn => 2, + copynumber => undef } ); my $item_3 = $builder->build_sample_item( @@ -284,7 +286,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => 1, itype => $itype_1->itemtype, - withdrawn => 3 + withdrawn => 3, + copynumber => undef } ); my $item_4 = $builder->build_sample_item( @@ -292,7 +295,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => 0, itype => $itype_2->itemtype, - withdrawn => 4 + withdrawn => 4, + copynumber => undef } ); my $item_5 = $builder->build_sample_item( @@ -300,7 +304,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => 0, itype => $itype_1->itemtype, - withdrawn => 5 + withdrawn => 5, + copynumber => undef } ); my $item_6 = $builder->build_sample_item( @@ -308,7 +313,8 @@ subtest 'filter_by_visible_in_opac() tests' => sub { biblionumber => $biblio->biblionumber, itemlost => 2, itype => $itype_1->itemtype, - withdrawn => 5 + withdrawn => 5, + copynumber => undef } ); @@ -326,7 +332,7 @@ subtest 'filter_by_visible_in_opac() tests' => sub { is( $biblio->items->filter_by_visible_in_opac({ patron => $patron })->count, 6, 'No rules passed, hidelostitems unset, patron exception changes nothing' ); - $rules = {}; + $rules = { copynumber => [ 2 ] }; t::lib::Mocks::mock_preference( 'hidelostitems', 1 ); is( @@ -341,7 +347,7 @@ subtest 'filter_by_visible_in_opac() tests' => sub { 'No rules passed, hidelostitems set, patron exception changes nothing' ); - $rules = { withdrawn => [ 1, 2 ] }; + $rules = { withdrawn => [ 1, 2 ], copynumber => [ 2 ] }; is( $biblio->items->filter_by_visible_in_opac->count, 2, @@ -354,14 +360,14 @@ subtest 'filter_by_visible_in_opac() tests' => sub { 'hidelostitems set, rules on withdrawn but patron override passed' ); - $rules = { itype => [ $itype_1->itemtype ] }; + $rules = { itype => [ $itype_1->itemtype ], copynumber => [ 2 ] }; is( $biblio->items->filter_by_visible_in_opac->count, 2, 'Rules on itype, hidelostitems set' ); - $rules = { withdrawn => [ 1, 2 ], itype => [ $itype_1->itemtype ] }; + $rules = { withdrawn => [ 1, 2 ], itype => [ $itype_1->itemtype ], copynumber => [ 2 ] }; is( $biblio->items->filter_by_visible_in_opac->count, 1, @@ -374,7 +380,7 @@ subtest 'filter_by_visible_in_opac() tests' => sub { 'The right item is returned' ); - $rules = { withdrawn => [ 1, 2 ], itype => [ $itype_2->itemtype ] }; + $rules = { withdrawn => [ 1, 2 ], itype => [ $itype_2->itemtype ], copynumber => [ 2 ] }; is( $biblio->items->filter_by_visible_in_opac->count, 1, -- 2.39.5