Bug 25229: Unit test
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
parent
d2d53878f6
commit
1cd3482664
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# This file is part of Koha.
|
||||
#
|
||||
# Koha is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Koha is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
||||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 2;
|
||||
use Test::MockModule;
|
||||
use t::lib::Mocks;
|
||||
|
||||
use_ok('Koha::SearchEngine::Elasticsearch::Search');
|
||||
|
||||
subtest 'search_auth_compat' => sub {
|
||||
plan tests => 2;
|
||||
|
||||
t::lib::Mocks::mock_preference('QueryRegexEscapeOptions', 'dont_escape');
|
||||
|
||||
my $module = Test::MockModule->new('Koha::SearchEngine::Elasticsearch::Search');
|
||||
$module->mock('count_auth_use', sub { return 1 });
|
||||
$module->mock('search', sub {
|
||||
# While the 001 and the authid should be the same, it is not always the case
|
||||
# The _id is always the authid and so should be our source of trutch
|
||||
my $marc_record = MARC::Record->new();
|
||||
$marc_record->append_fields(
|
||||
MARC::Field->new('001', 'Wrong001Number'),
|
||||
);
|
||||
return {
|
||||
hits => {
|
||||
hits => [{
|
||||
'_id' => 8675309,
|
||||
'_source' => {
|
||||
'local-number' => ['Wrong001Number'],
|
||||
'marc_data' => $marc_record,
|
||||
'marc_format' => 'base64ISO2709',
|
||||
},
|
||||
}]
|
||||
}
|
||||
};
|
||||
});
|
||||
my $search;
|
||||
ok(
|
||||
$search = Koha::SearchEngine::Elasticsearch::Search->new({ 'index' => $Koha::SearchEngine::Elasticsearch::AUTHORITIES_INDEX }),
|
||||
'Creating a new Search object'
|
||||
);
|
||||
|
||||
my ( $results, undef ) = $search->search_auth_compat('faked');
|
||||
|
||||
is( @$results[0]->{authid}, '8675309', 'We get the expected record _id and not the 001');
|
||||
|
||||
};
|
||||
|
||||
1;
|
||||
Loading…
Reference in New Issue