3 # Tests for Koha/SearchEngine/Search
7 use Test::More tests => 1;
18 use Koha::SearchEngine::Search;
20 my $schema = Koha::Database->new->schema;
21 $schema->storage->txn_begin;
23 subtest 'Test extract_biblionumber' => sub {
26 t::lib::Mocks::mock_preference( 'SearchEngine', 'Zebra' );
27 my $biblio_mod = Test::MockModule->new( 'C4::Biblio' );
28 my $search_mod = Test::MockModule->new( 'C4::Search' );
29 my $koha_fields = [ '001', '' ];
30 $biblio_mod->mock( 'GetMarcFromKohaField', sub { return @$koha_fields; });
31 $search_mod->mock( 'new_record_from_zebra', \&test_record );
34 my $searcher = Koha::SearchEngine::Search->new;
35 my $bibno = $searcher->extract_biblionumber( 'fake_result' );
36 is( $bibno, 3456, 'Extracted biblio number for Zebra' );
38 # Now use 999c with Elasticsearch
39 t::lib::Mocks::mock_preference( 'SearchEngine', 'Elasticsearch' );
40 $search_mod->unmock( 'new_record_from_zebra' );
41 $koha_fields = [ '999', 'c' ];
42 $searcher = Koha::SearchEngine::Search->new({ index => 'biblios' });
43 $bibno = $searcher->extract_biblionumber( test_record() );
44 is( $bibno, 4567, 'Extracted biblio number for Zebra' );
49 my $marc = MARC::Record->new;
51 MARC::Field->new( '001', '3456' ),
52 MARC::Field->new( '245', '', '', a => 'Some title' ),
53 MARC::Field->new( '999', '', '', c => '4567' ),
58 $schema->storage->txn_rollback;