View | Details | Raw Unified | Return to bug 38101
Collapse All | Expand All

(-)a/t/db_dependent/Koha/SearchEngine/Elasticsearch.t (-2 / +28 lines)
Lines 186-192 subtest 'get_elasticsearch_mappings() tests' => sub { Link Here
186
186
187
subtest 'Koha::SearchEngine::Elasticsearch::marc_records_to_documents () tests' => sub {
187
subtest 'Koha::SearchEngine::Elasticsearch::marc_records_to_documents () tests' => sub {
188
188
189
    plan tests => 69;
189
    plan tests => 70;
190
190
191
    t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
191
    t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
192
    t::lib::Mocks::mock_preference('ElasticsearchMARCFormat', 'ISO2709');
192
    t::lib::Mocks::mock_preference('ElasticsearchMARCFormat', 'ISO2709');
Lines 393-398 subtest 'Koha::SearchEngine::Elasticsearch::marc_records_to_documents () tests' Link Here
393
            marc_type => 'marc21',
393
            marc_type => 'marc21',
394
            marc_field => '650(avxyz)',
394
            marc_field => '650(avxyz)',
395
        },
395
        },
396
        {
397
            name        => 'note',
398
            type        => 'string',
399
            facet       => 0,
400
            suggestible => 0,
401
            searchable  => 1,
402
            sort        => 1,
403
            marc_type   => 'marc21',
404
            marc_field  => '522a',
405
        },
396
    );
406
    );
397
407
398
    my $se = Test::MockModule->new('Koha::SearchEngine::Elasticsearch');
408
    my $se = Test::MockModule->new('Koha::SearchEngine::Elasticsearch');
Lines 755-769 subtest 'Koha::SearchEngine::Elasticsearch::marc_records_to_documents () tests' Link Here
755
    my $marc_record_with_large_field = MARC::Record->new();
765
    my $marc_record_with_large_field = MARC::Record->new();
756
    $marc_record_with_large_field->leader('     cam  22      a 4500');
766
    $marc_record_with_large_field->leader('     cam  22      a 4500');
757
767
768
    my $xs = 'X' x 8191;
769
    my $ys = 'Y' x 8191;
770
    my $zs = 'Z' x 8191 . 'W';    # one extra character so it needs splitting
771
758
    $marc_record_with_large_field->append_fields(
772
    $marc_record_with_large_field->append_fields(
759
        MARC::Field->new( '100', '', '', a => 'Author 1' ),
773
        MARC::Field->new( '100', '', '', a => 'Author 1' ),
760
        MARC::Field->new( '245', '', '', a => 'Title:', b => 'record with large field' ),
774
        MARC::Field->new( '245', '', '', a => 'Title:', b => 'record with large field' ),
761
        MARC::Field->new( '500', '', '', a => 'X' x 15000 ),
775
        MARC::Field->new( '500', '', '', a => 'X' x 15000 ),
776
        MARC::Field->new( '522', '', '', a => "$xs $ys $zs" ),
762
        MARC::Field->new( '999', '', '', c => '1234567' ),
777
        MARC::Field->new( '999', '', '', c => '1234567' ),
763
    );
778
    );
764
779
765
    $docs = $see->marc_records_to_documents( [$marc_record_with_large_field] );
780
    $docs = $see->marc_records_to_documents( [$marc_record_with_large_field] );
766
781
782
    subtest '_process_mappings() split tests' => sub {
783
784
        plan tests => 4;
785
786
        my $note_indexes = $docs->[0]->{note};
787
788
        is( $note_indexes->[0], $xs,                    'First chunk split using the space' );
789
        is( $note_indexes->[1], $ys,                    'Second chunk split using the space' );
790
        is( $note_indexes->[2], substr( $zs, 0, 8191 ), 'Third chunk is forced to split' );
791
        is( $note_indexes->[3], substr( $zs, 8191, 1 ), 'Fourth chunk is just the remaining char' );
792
    };
793
767
    is( $docs->[0]->{marc_format}, 'MARCXML', 'For record with large field marc_format should be set correctly' );
794
    is( $docs->[0]->{marc_format}, 'MARCXML', 'For record with large field marc_format should be set correctly' );
768
795
769
    $decoded_marc_record = $see->decode_record_from_result( $docs->[0] );
796
    $decoded_marc_record = $see->decode_record_from_result( $docs->[0] );
770
- 

Return to bug 38101