|
Lines 142-148
subtest 'ModItem tests' => sub {
Link Here
|
| 142 |
|
142 |
|
| 143 |
subtest 'GetHiddenItemnumbers tests' => sub { |
143 |
subtest 'GetHiddenItemnumbers tests' => sub { |
| 144 |
|
144 |
|
| 145 |
plan tests => 9; |
145 |
plan tests => 11; |
| 146 |
|
146 |
|
| 147 |
# This sub is controlled by the OpacHiddenItems system preference. |
147 |
# This sub is controlled by the OpacHiddenItems system preference. |
| 148 |
|
148 |
|
|
Lines 192-203
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
| 192 |
push @items, GetItem( $item2_itemnumber ); |
192 |
push @items, GetItem( $item2_itemnumber ); |
| 193 |
|
193 |
|
| 194 |
# Empty OpacHiddenItems |
194 |
# Empty OpacHiddenItems |
| 195 |
C4::Context->set_preference('OpacHiddenItems',''); |
195 |
t::lib::Mocks::mock_preference('OpacHiddenItems',''); |
| 196 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
196 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
| 197 |
"Hidden items list undef if OpacHiddenItems empty"); |
197 |
"Hidden items list undef if OpacHiddenItems empty"); |
| 198 |
|
198 |
|
| 199 |
# Blank spaces |
199 |
# Blank spaces |
| 200 |
C4::Context->set_preference('OpacHiddenItems',' '); |
200 |
t::lib::Mocks::mock_preference('OpacHiddenItems',' '); |
| 201 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
201 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
| 202 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
202 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
| 203 |
|
203 |
|
|
Lines 213-219
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
| 213 |
$opachiddenitems = " |
213 |
$opachiddenitems = " |
| 214 |
withdrawn: [1,0]"; |
214 |
withdrawn: [1,0]"; |
| 215 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
215 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
| 216 |
C4::Context->set_preference( 'OpacHiddenItems', $opachiddenitems ); |
|
|
| 217 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
216 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
| 218 |
ok( scalar @hidden == 2, "Two items hidden"); |
217 |
ok( scalar @hidden == 2, "Two items hidden"); |
| 219 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
218 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
|
Lines 228-233
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
| 228 |
ok( scalar @hidden == 2, "Two items hidden"); |
227 |
ok( scalar @hidden == 2, "Two items hidden"); |
| 229 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
228 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
| 230 |
|
229 |
|
|
|
230 |
# Override hidden with patron category |
| 231 |
t::lib::Mocks::mock_preference( 'OpacHiddenItemsExceptions', 'S' ); |
| 232 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'PT' } ); |
| 233 |
ok( scalar @hidden == 2, "Two items still hidden"); |
| 234 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'S' } ); |
| 235 |
ok( scalar @hidden == 0, "Two items not hidden"); |
| 236 |
|
| 231 |
# Valid OpacHiddenItems, empty list |
237 |
# Valid OpacHiddenItems, empty list |
| 232 |
@items = (); |
238 |
@items = (); |
| 233 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
239 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
|
Lines 548-554
subtest 'Koha::Item(s) tests' => sub {
Link Here
|
| 548 |
}; |
554 |
}; |
| 549 |
|
555 |
|
| 550 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
556 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
| 551 |
plan tests => 7; |
557 |
plan tests => 8; |
| 552 |
|
558 |
|
| 553 |
$schema->storage->txn_begin(); |
559 |
$schema->storage->txn_begin(); |
| 554 |
|
560 |
|
|
Lines 599-616
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
| 599 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
605 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
| 600 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
606 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
| 601 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
607 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
| 602 |
'Should crap is no record passed.'; |
608 |
'Should carp is no record passed.'; |
| 603 |
|
609 |
|
| 604 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
610 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
611 |
marc_record => $record, |
| 612 |
biblionumber => $biblionumber }); |
| 605 |
my @items = $record->field($itemfield); |
613 |
my @items = $record->field($itemfield); |
| 606 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
614 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
| 607 |
|
615 |
|
| 608 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, |
616 |
my $marc_with_items = C4::Biblio::GetMarcBiblio({ |
| 609 |
[ $itemnumbers[1], $itemnumbers[3] ] ); |
617 |
biblionumber => $biblionumber, |
|
|
618 |
embed_items => 1 }); |
| 619 |
is_deeply( $record, $marc_with_items, 'A direct call to GetMarcBiblio with items matches'); |
| 620 |
|
| 621 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
| 622 |
marc_record => $record, |
| 623 |
biblionumber => $biblionumber, |
| 624 |
item_numbers => [ $itemnumbers[1], $itemnumbers[3] ] }); |
| 610 |
@items = $record->field($itemfield); |
625 |
@items = $record->field($itemfield); |
| 611 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
626 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
| 612 |
|
627 |
|
| 613 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
628 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
629 |
marc_record => $record, |
| 630 |
biblionumber => $biblionumber, |
| 631 |
opac => 1 }); |
| 614 |
@items = $record->field($itemfield); |
632 |
@items = $record->field($itemfield); |
| 615 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
633 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
| 616 |
|
634 |
|
|
Lines 618-630
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
| 618 |
homebranch: ['$library1->{branchcode}']"; |
636 |
homebranch: ['$library1->{branchcode}']"; |
| 619 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
637 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
| 620 |
|
638 |
|
| 621 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
639 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
640 |
marc_record => $record, |
| 641 |
biblionumber => $biblionumber }); |
| 622 |
@items = $record->field($itemfield); |
642 |
@items = $record->field($itemfield); |
| 623 |
is( scalar @items, |
643 |
is( scalar @items, |
| 624 |
$number_of_items, |
644 |
$number_of_items, |
| 625 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
645 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
| 626 |
|
646 |
|
| 627 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
647 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
648 |
marc_record => $record, |
| 649 |
biblionumber => $biblionumber, |
| 650 |
opac => 1 }); |
| 628 |
@items = $record->field($itemfield); |
651 |
@items = $record->field($itemfield); |
| 629 |
is( |
652 |
is( |
| 630 |
scalar @items, |
653 |
scalar @items, |
|
Lines 635-641
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
| 635 |
$opachiddenitems = " |
658 |
$opachiddenitems = " |
| 636 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
659 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
| 637 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
660 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
| 638 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
661 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
662 |
marc_record => $record, |
| 663 |
biblionumber => $biblionumber, |
| 664 |
opac => 1 }); |
| 639 |
@items = $record->field($itemfield); |
665 |
@items = $record->field($itemfield); |
| 640 |
is( |
666 |
is( |
| 641 |
scalar @items, |
667 |
scalar @items, |