Bug 32648: Avoid skipping record or hiding item
It seems that depending on other tests, the item could be hidden from the record, or
the entire record hidden because of the way we count hidden items.
I add a mock for the two HIddenItems prefs and hardcode an xml record
to avoid problematic data from test builder
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3db7173dde)
Signed-off-by: Jacob O'Mara <jacobomara901@gmail.com>
This commit is contained in:
parent
b37b855638
commit
58b5baa504
49
t/Search.t
49
t/Search.t
|
|
@ -189,18 +189,59 @@ subtest "searchResults PassItemMarcToXSLT test" => sub {
|
|||
|
||||
my $builder = t::lib::TestBuilder->new;
|
||||
|
||||
my $item = $builder->build_sample_item();
|
||||
my $record = $item->biblio->metadata->record({ embed_items => 1 });
|
||||
my $xml_record = q{
|
||||
<record
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
|
||||
xmlns="http://www.loc.gov/MARC21/slim">
|
||||
|
||||
<leader>00144 a2200073 4500</leader>
|
||||
<datafield tag="245" ind1=" " ind2=" ">
|
||||
<subfield code="a">Some boring read</subfield>
|
||||
</datafield>
|
||||
<datafield tag="100" ind1=" " ind2=" ">
|
||||
<subfield code="a">Some boring author</subfield>
|
||||
</datafield>
|
||||
<datafield tag="942" ind1=" " ind2=" ">
|
||||
<subfield code="c">gOlAIZMF</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2=" ">
|
||||
<subfield code="0">0</subfield>
|
||||
<subfield code="1">0</subfield>
|
||||
<subfield code="4">0</subfield>
|
||||
<subfield code="7">0</subfield>
|
||||
<subfield code="9">1117</subfield>
|
||||
<subfield code="a">D6C8Pj</subfield>
|
||||
<subfield code="b">D6C8Pj</subfield>
|
||||
<subfield code="d">2023-03-31</subfield>
|
||||
<subfield code="l">0</subfield>
|
||||
<subfield code="p">g57ad1Zn3NOYZ</subfield>
|
||||
<subfield code="r">2023-03-31</subfield>
|
||||
<subfield code="w">2023-03-31</subfield>
|
||||
<subfield code="y">gOlAIZMF</subfield>
|
||||
</datafield>
|
||||
<datafield tag="999" ind1=" " ind2=" ">
|
||||
<subfield code="c">553</subfield>
|
||||
<subfield code="d">553</subfield>
|
||||
</datafield>
|
||||
</record>
|
||||
};
|
||||
t::lib::Mocks::mock_preference('PassItemMarcToXSLT','1');
|
||||
|
||||
warnings_like { C4::Search::searchResults({ interface => "opac" },"test",1,1,0,0,[ $record->as_xml_record ] ,undef) }
|
||||
# The routine uses a count of items in DB to determine if record should be hidden.
|
||||
# Our item is not in the DB, so we avoid hiding the record which would
|
||||
# mean we don't call XSLTParse4Display.
|
||||
# Also ensure item is not hidden
|
||||
t::lib::Mocks::mock_preference('OpacHiddenItems','');
|
||||
t::lib::Mocks::mock_preference('OpacHiddenItemsHidesRecord','0');
|
||||
|
||||
warnings_like { C4::Search::searchResults({ interface => "opac" },"test",1,1,0,0,[ $xml_record ] ,undef) }
|
||||
[qr/Item here/],
|
||||
"Item field returned from default XSLT if pref set";
|
||||
|
||||
t::lib::Mocks::mock_preference('PassItemMarcToXSLT','0');
|
||||
|
||||
warnings_like { C4::Search::searchResults({ interface => "opac" },"test",1,1,0,0,[ $record->as_xml_record ] ,undef) }
|
||||
warnings_like { C4::Search::searchResults({ interface => "opac" },"test",1,1,0,0,[ $xml_record ] ,undef) }
|
||||
[qr/No item/],
|
||||
"Item field returned from default XSLT if pref set";
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue