Lines 32-38
use t::lib::TestBuilder;
Link Here
|
32 |
use Koha::MarcSubfieldStructures; |
32 |
use Koha::MarcSubfieldStructures; |
33 |
use Koha::Caches; |
33 |
use Koha::Caches; |
34 |
|
34 |
|
35 |
use Test::More tests => 13; |
35 |
use Test::More tests => 15; |
36 |
|
36 |
|
37 |
use Test::Warn; |
37 |
use Test::Warn; |
38 |
|
38 |
|
Lines 196-207
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
196 |
push @items, GetItem( $item2_itemnumber ); |
196 |
push @items, GetItem( $item2_itemnumber ); |
197 |
|
197 |
|
198 |
# Empty OpacHiddenItems |
198 |
# Empty OpacHiddenItems |
199 |
C4::Context->set_preference('OpacHiddenItems',''); |
199 |
t::lib::Mocks::mock_preference('OpacHiddenItems',''); |
200 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
200 |
ok( !defined( GetHiddenItemnumbers( { items => \@items } ) ), |
201 |
"Hidden items list undef if OpacHiddenItems empty"); |
201 |
"Hidden items list undef if OpacHiddenItems empty"); |
202 |
|
202 |
|
203 |
# Blank spaces |
203 |
# Blank spaces |
204 |
C4::Context->set_preference('OpacHiddenItems',' '); |
204 |
t::lib::Mocks::mock_preference('OpacHiddenItems',' '); |
205 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
205 |
ok( scalar GetHiddenItemnumbers( { items => \@items } ) == 0, |
206 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
206 |
"Hidden items list empty if OpacHiddenItems only contains blanks"); |
207 |
|
207 |
|
Lines 217-223
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
217 |
$opachiddenitems = " |
217 |
$opachiddenitems = " |
218 |
withdrawn: [1,0]"; |
218 |
withdrawn: [1,0]"; |
219 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
219 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
220 |
C4::Context->set_preference( 'OpacHiddenItems', $opachiddenitems ); |
|
|
221 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
220 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
222 |
ok( scalar @hidden == 2, "Two items hidden"); |
221 |
ok( scalar @hidden == 2, "Two items hidden"); |
223 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
222 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and withdrawn=0 hidden"); |
Lines 232-237
subtest 'GetHiddenItemnumbers tests' => sub {
Link Here
|
232 |
ok( scalar @hidden == 2, "Two items hidden"); |
231 |
ok( scalar @hidden == 2, "Two items hidden"); |
233 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
232 |
is_deeply( \@hidden, \@itemnumbers, "withdrawn=1 and homebranch library2 hidden"); |
234 |
|
233 |
|
|
|
234 |
# Override hidden with patron category |
235 |
t::lib::Mocks::mock_preference( 'OpacHiddenItemsExceptions', 'S' ); |
236 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'PT' } ); |
237 |
ok( scalar @hidden == 2, "Two items still hidden"); |
238 |
@hidden = GetHiddenItemnumbers( { items => \@items, borcat => 'S' } ); |
239 |
ok( scalar @hidden == 0, "Two items not hidden"); |
240 |
|
235 |
# Valid OpacHiddenItems, empty list |
241 |
# Valid OpacHiddenItems, empty list |
236 |
@items = (); |
242 |
@items = (); |
237 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
243 |
@hidden = GetHiddenItemnumbers( { items => \@items } ); |
Lines 552-558
subtest 'Koha::Item(s) tests' => sub {
Link Here
|
552 |
}; |
558 |
}; |
553 |
|
559 |
|
554 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
560 |
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { |
555 |
plan tests => 7; |
561 |
plan tests => 8; |
556 |
|
562 |
|
557 |
$schema->storage->txn_begin(); |
563 |
$schema->storage->txn_begin(); |
558 |
|
564 |
|
Lines 603-620
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
603 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
609 |
my $record = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); |
604 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
610 |
warning_is { C4::Biblio::EmbedItemsInMarcBiblio() } |
605 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
611 |
{ carped => 'EmbedItemsInMarcBiblio: No MARC record passed' }, |
606 |
'Should crap is no record passed.'; |
612 |
'Should carp is no record passed.'; |
607 |
|
613 |
|
608 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
614 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
615 |
marc_record => $record, |
616 |
biblionumber => $biblionumber }); |
609 |
my @items = $record->field($itemfield); |
617 |
my @items = $record->field($itemfield); |
610 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
618 |
is( scalar @items, $number_of_items, 'Should return all items' ); |
611 |
|
619 |
|
612 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, |
620 |
my $marc_with_items = C4::Biblio::GetMarcBiblio({ |
613 |
[ $itemnumbers[1], $itemnumbers[3] ] ); |
621 |
biblionumber => $biblionumber, |
|
|
622 |
embed_items => 1 }); |
623 |
is_deeply( $record, $marc_with_items, 'A direct call to GetMarcBiblio with items matches'); |
624 |
|
625 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
626 |
marc_record => $record, |
627 |
biblionumber => $biblionumber, |
628 |
item_numbers => [ $itemnumbers[1], $itemnumbers[3] ] }); |
614 |
@items = $record->field($itemfield); |
629 |
@items = $record->field($itemfield); |
615 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
630 |
is( scalar @items, 2, 'Should return all items present in the list' ); |
616 |
|
631 |
|
617 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
632 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
633 |
marc_record => $record, |
634 |
biblionumber => $biblionumber, |
635 |
opac => 1 }); |
618 |
@items = $record->field($itemfield); |
636 |
@items = $record->field($itemfield); |
619 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
637 |
is( scalar @items, $number_of_items, 'Should return all items for opac' ); |
620 |
|
638 |
|
Lines 622-634
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
622 |
homebranch: ['$library1->{branchcode}']"; |
640 |
homebranch: ['$library1->{branchcode}']"; |
623 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
641 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
624 |
|
642 |
|
625 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber ); |
643 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
644 |
marc_record => $record, |
645 |
biblionumber => $biblionumber }); |
626 |
@items = $record->field($itemfield); |
646 |
@items = $record->field($itemfield); |
627 |
is( scalar @items, |
647 |
is( scalar @items, |
628 |
$number_of_items, |
648 |
$number_of_items, |
629 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
649 |
'Even with OpacHiddenItems set, all items should have been embedded' ); |
630 |
|
650 |
|
631 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
651 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
652 |
marc_record => $record, |
653 |
biblionumber => $biblionumber, |
654 |
opac => 1 }); |
632 |
@items = $record->field($itemfield); |
655 |
@items = $record->field($itemfield); |
633 |
is( |
656 |
is( |
634 |
scalar @items, |
657 |
scalar @items, |
Lines 639-645
subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub {
Link Here
|
639 |
$opachiddenitems = " |
662 |
$opachiddenitems = " |
640 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
663 |
homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']"; |
641 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
664 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems ); |
642 |
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 ); |
665 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
|
|
666 |
marc_record => $record, |
667 |
biblionumber => $biblionumber, |
668 |
opac => 1 }); |
643 |
@items = $record->field($itemfield); |
669 |
@items = $record->field($itemfield); |
644 |
is( |
670 |
is( |
645 |
scalar @items, |
671 |
scalar @items, |