|
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, |