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