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

(-)a/t/db_dependent/Koha/Biblio.t (-2 / +69 lines)
Lines 17-30 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 12;
20
use Test::More tests => 13;
21
21
22
use C4::Biblio;
22
use C4::Biblio;
23
use Koha::Database;
23
use Koha::Database;
24
use Koha::Acquisition::Orders;
24
use Koha::Acquisition::Orders;
25
25
26
use MARC::Field;
27
use MARC::Record;
28
26
use t::lib::TestBuilder;
29
use t::lib::TestBuilder;
27
use t::lib::Mocks;
30
use t::lib::Mocks;
31
use Test::MockModule;
28
32
29
BEGIN {
33
BEGIN {
30
    use_ok('Koha::Biblio');
34
    use_ok('Koha::Biblio');
Lines 479-484 subtest 'suggestions() tests' => sub { Link Here
479
    $schema->storage->txn_rollback;
483
    $schema->storage->txn_rollback;
480
};
484
};
481
485
486
subtest 'components() tests' => sub {
487
488
    plan tests => 3;
489
490
    $schema->storage->txn_begin;
491
492
    my ($host_bibnum) = C4::Biblio::AddBiblio(host_record(), '');
493
    my $host_biblio = Koha::Biblios->find($host_bibnum);
494
    t::lib::Mocks::mock_preference( 'SearchEngine', 'Zebra' );
495
    my $search_mod = Test::MockModule->new( 'Koha::SearchEngine::Zebra::Search' );
496
    $search_mod->mock( 'simple_search_compat', \&search_component_record2 );
497
498
    my @components = $host_biblio->components;
499
    is( ref(\@components), 'ARRAY', 'Return type is correct' );
500
501
    is_deeply(
502
        [@components],
503
        [()],
504
        '->components returns an empty ARRAY'
505
    );
506
507
    $search_mod->unmock( 'simple_search_compat');
508
    $search_mod->mock( 'simple_search_compat', \&search_component_record1 );
509
    my $component_record = component_record1()->as_xml();
510
511
    is_deeply(
512
        $host_biblio->components,
513
        [($component_record)],
514
        '->components returns the related component part record'
515
    );
516
    $search_mod->unmock( 'simple_search_compat');
517
518
    $schema->storage->txn_rollback;
519
};
520
482
subtest 'orders() and active_orders() tests' => sub {
521
subtest 'orders() and active_orders() tests' => sub {
483
522
484
    plan tests => 5;
523
    plan tests => 5;
Lines 558-560 subtest 'subscriptions() tests' => sub { Link Here
558
597
559
    $schema->storage->txn_rollback;
598
    $schema->storage->txn_rollback;
560
};
599
};
561
- 
600
601
sub component_record1 {
602
    my $marc = MARC::Record->new;
603
    $marc->append_fields(
604
        MARC::Field->new( '001', '3456' ),
605
        MARC::Field->new( '245', '', '', a => 'Some title 1' ),
606
        MARC::Field->new( '773', '', '', w => '(FIRST)1234' ),
607
    );
608
    return $marc;
609
}
610
sub search_component_record1 {
611
    my @results = ( component_record1()->as_xml() );
612
    return ( undef, \@results, 1 );
613
}
614
615
sub search_component_record2 {
616
    my @results;
617
    return ( undef, \@results, 0 );
618
}
619
620
sub host_record {
621
    my $marc = MARC::Record->new;
622
    $marc->append_fields(
623
        MARC::Field->new( '001', '1234' ),
624
        MARC::Field->new( '003', 'FIRST' ),
625
        MARC::Field->new( '245', '', '', a => 'Some title' ),
626
    );
627
    return $marc;
628
}

Return to bug 11175