Lines 109-115
subtest 'General Add, Get and Del tests' => sub {
Link Here
|
109 |
|
109 |
|
110 |
subtest 'GetHiddenItemnumbers tests' => sub { |
110 |
subtest 'GetHiddenItemnumbers tests' => sub { |
111 |
|
111 |
|
112 |
plan tests => 9; |
112 |
plan tests => 11; |
113 |
|
113 |
|
114 |
# This sub is controlled by the OpacHiddenItems system preference. |
114 |
# This sub is controlled by the OpacHiddenItems system preference. |
115 |
|
115 |
|
Lines 159-170
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
159 |
push @items, GetItem( $item2_itemnumber ); |
159 |
push @items, GetItem( $item2_itemnumber ); |
160 |
|
160 |
|
161 |
# Empty OpacHiddenItems |
161 |
# Empty OpacHiddenItems |
162 |
C4::Context->set_preference('OpacHiddenItems',''); |
162 |
t::lib::Mocks::mock_preference('OpacHiddenItems',''); |
163 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
163 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
164 |
"Hidden items list undef if OpacHiddenItems empty"); |
164 |
"Hidden items list undef if OpacHiddenItems empty"); |
165 |
|
165 |
|
166 |
# Blank spaces |
166 |
# Blank spaces |
167 |
C4::Context->set_preference('OpacHiddenItems',' '); |
167 |
t::lib::Mocks::mock_preference('OpacHiddenItems',' '); |
168 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
168 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
169 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
169 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
170 |
|
170 |
|
Lines 180-186
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
180 |
$opachiddenitems = " |
180 |
$opachiddenitems = " |
181 |
withdrawn: [1,0]"; |
181 |
withdrawn: [1,0]"; |
182 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
182 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
183 |
C4::Context->set_preference( 'OpacHiddenItems', $opachiddenitems ); |
|
|
184 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
183 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
185 |
ok( scalar @hidden == 2, "Two items hidden"); |
184 |
ok( scalar @hidden == 2, "Two items hidden"); |
186 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
185 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
Lines 195-200
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
195 |
ok( scalar @hidden == 2, "Two items hidden"); |
194 |
ok( scalar @hidden == 2, "Two items hidden"); |
196 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
195 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
197 |
|
196 |
|
|
|
197 |
# Override hidden with patron category |
198 |
t::lib::Mocks::mock_preference( 'OpacHiddenItemsExceptions', 'S' ); |
199 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'PT' } ); |
200 |
ok( scalar @hidden == 2, "Two items still hidden"); |
201 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'S' } ); |
202 |
ok( scalar @hidden == 0, "Two items not hidden"); |
203 |
|
198 |
# Valid OpacHiddenItems, empty list |
204 |
# Valid OpacHiddenItems, empty list |
199 |
@items = (); |
205 |
@items = (); |
200 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
206 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
Lines 514-520
subtest 'Koha::Item(s) tests' => sub {
Link Here
|
514 |
}; |
520 |
}; |
515 |
|
521 |
|
516 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
522 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
517 |
plan tests => 7; |
523 |
plan tests => 8; |
518 |
|
524 |
|
519 |
$schema->storage->txn_begin(); |
525 |
$schema->storage->txn_begin(); |
520 |
|
526 |
|
Lines 565-582
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
565 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
571 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
566 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
572 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
567 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
573 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
568 |
'Should crap is no record passed.'; |
574 |
'Should carp is no record passed.'; |
569 |
|
575 |
|
570 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
576 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
577 |
marc_record => $record, |
578 |
biblionumber => $biblionumber }); |
571 |
my @items = $record->field($itemfield); |
579 |
my @items = $record->field($itemfield); |
572 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
580 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
573 |
|
581 |
|
574 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, |
582 |
my $marc_with_items = C4::Biblio::GetMarcBiblio({ |
575 |
[ $itemnumbers[1], $itemnumbers[3] ] ); |
583 |
biblionumber => $biblionumber, |
|
|
584 |
embed_items => 1 }); |
585 |
is_deeply( $record, $marc_with_items, 'A direct call to GetMarcBiblio with items matches'); |
586 |
|
587 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
588 |
marc_record => $record, |
589 |
biblionumber => $biblionumber, |
590 |
item_numbers => [ $itemnumbers[1], $itemnumbers[3] ] }); |
576 |
@items = $record->field($itemfield); |
591 |
@items = $record->field($itemfield); |
577 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
592 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
578 |
|
593 |
|
579 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
594 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
595 |
marc_record => $record, |
596 |
biblionumber => $biblionumber, |
597 |
opac => 1 }); |
580 |
@items = $record->field($itemfield); |
598 |
@items = $record->field($itemfield); |
581 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
599 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
582 |
|
600 |
|
Lines 584-596
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
584 |
homebranch: ['$library1->{branchcode}']"; |
602 |
homebranch: ['$library1->{branchcode}']"; |
585 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
603 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
586 |
|
604 |
|
587 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
605 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
606 |
marc_record => $record, |
607 |
biblionumber => $biblionumber }); |
588 |
@items = $record->field($itemfield); |
608 |
@items = $record->field($itemfield); |
589 |
is( scalar @items, |
609 |
is( scalar @items, |
590 |
$number_of_items, |
610 |
$number_of_items, |
591 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
611 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
592 |
|
612 |
|
593 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
613 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
614 |
marc_record => $record, |
615 |
biblionumber => $biblionumber, |
616 |
opac => 1 }); |
594 |
@items = $record->field($itemfield); |
617 |
@items = $record->field($itemfield); |
595 |
is( |
618 |
is( |
596 |
scalar @items, |
619 |
scalar @items, |
Lines 601-607
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
601 |
$opachiddenitems = " |
624 |
$opachiddenitems = " |
602 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
625 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
603 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
626 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
604 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
627 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
628 |
marc_record => $record, |
629 |
biblionumber => $biblionumber, |
630 |
opac => 1 }); |
605 |
@items = $record->field($itemfield); |
631 |
@items = $record->field($itemfield); |
606 |
is( |
632 |
is( |
607 |
scalar @items, |
633 |
scalar @items, |