@@ -, +, @@ --- t/db_dependent/Items.t | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) --- a/t/db_dependent/Items.t +++ a/t/db_dependent/Items.t @@ -148,7 +148,7 @@ subtest 'ModItem tests' => sub { subtest 'GetHiddenItemnumbers tests' => sub { - plan tests => 11; + plan tests => 15; # This sub is controlled by the OpacHiddenItems system preference. @@ -198,6 +198,8 @@ subtest 'GetHiddenItemnumbers tests' => sub { push @items, GetItem( $item2_itemnumber ); # Empty OpacHiddenItems + t::lib::Mocks::mock_preference('OpacHiddenItemsExceptions', q{}); + t::lib::Mocks::mock_preference('OpacHiddenItemsLocalExceptions', q{}); t::lib::Mocks::mock_preference('OpacHiddenItems',''); ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), "Hidden items list undef if OpacHiddenItems empty"); @@ -240,6 +242,15 @@ subtest 'GetHiddenItemnumbers tests' => sub { @hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'S' } ); ok( scalar @hidden == 0, "Two items not hidden"); + # Override hidden with a local patron category + t::lib::Mocks::mock_preference( 'OpacHiddenItemsLocalExceptions', 'PT' ); + @hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'PT', patron_branch => $library1->{branchcode} } ); + ok( scalar @hidden == 1, "One local item not hidden"); + ok( $hidden[0] == $item2_itemnumber, 'Library 2 item still hidden' ); + @hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'PT', patron_branch => $library2->{branchcode} } ); + ok( scalar @hidden == 1, "One local item not hidden"); + ok( $hidden[0] == $item1_itemnumber, 'Library 1 item still hidden' ); + # Valid OpacHiddenItems, empty list @items = (); @hidden = GetHiddenItemnumbers( { items => \@items } ); --