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

(-)a/t/db_dependent/OAI/Server.t (-2 / +74 lines)
Lines 21-27 use Modern::Perl; Link Here
21
use Test::Deep qw( cmp_deeply re );
21
use Test::Deep qw( cmp_deeply re );
22
use Test::MockTime qw/set_fixed_time set_relative_time restore_time/;
22
use Test::MockTime qw/set_fixed_time set_relative_time restore_time/;
23
23
24
use Test::More tests => 34;
24
use Test::More tests => 35;
25
use DateTime;
25
use DateTime;
26
use File::Basename;
26
use File::Basename;
27
use File::Spec;
27
use File::Spec;
Lines 515-520 subtest 'ListSets tests' => sub { Link Here
515
    $schema->storage->txn_rollback;
515
    $schema->storage->txn_rollback;
516
};
516
};
517
517
518
subtest 'Tests for OpacHiddenItems' => sub {
519
520
    plan tests => 4;
521
522
    t::lib::Mocks::mock_preference( 'OAI::PMH'         => 1 );
523
    t::lib::Mocks::mock_preference( 'OAI-PMH:MaxCount' => 3 );
524
    t::lib::Mocks::mock_preference(
525
        'OAI-PMH:ConfFile' => File::Spec->rel2abs( dirname(__FILE__) ) . '/oaiconf_items.yaml' );
526
    $schema->storage->txn_begin;
527
    my $builder       = t::lib::TestBuilder->new;
528
    my $item          = $builder->build_sample_item();
529
    my $biblio        = $item->biblio;
530
    my $utc_datetime  = dt_from_string( undef, undef, 'UTC' );
531
    my $utc_timestamp = $utc_datetime->ymd . 'T' . $utc_datetime->hms . 'Z';
532
533
    my $get_items = {
534
        verb           => 'GetRecord',
535
        metadataPrefix => 'marc21',
536
        identifier     => 'TEST:' . $item->biblionumber
537
    };
538
    my $list_items = {
539
        verb           => 'ListRecords',
540
        metadataPrefix => 'marc21',
541
        from           => $utc_timestamp
542
    };
543
    my $expected = {
544
        record => {
545
            header => {
546
                datestamp  => $utc_timestamp,
547
                identifier => 'TEST:' . $item->biblionumber
548
            },
549
            metadata =>
550
                { record => XMLin( $biblio->metadata->record( { embed_items => 1, opac => 1 } )->as_xml_record() ) }
551
        }
552
    };
553
    my $expected_hidden = {
554
        record => {
555
            header => {
556
                datestamp  => $utc_timestamp,
557
                identifier => 'TEST:' . $item->biblionumber,
558
                status     => 'deleted'
559
            },
560
        }
561
    };
562
    test_query(
563
        'GetRecord - biblio with a single item',
564
        $get_items,
565
        { GetRecord => $expected }
566
    );
567
    test_query(
568
        'ListRecords - biblio with a single item',
569
        $list_items,
570
        { ListRecords => $expected }
571
    );
572
573
    my $opachiddenitems = "
574
        itemnumber: ['" . $item->itemnumber . "']";
575
    t::lib::Mocks::mock_preference( 'OpacHiddenItems' => $opachiddenitems );
576
577
    test_query(
578
        'GetRecord - biblio with a single item hidden by OpacHiddenItems returns as deleted',
579
        $get_items,
580
        { GetRecord => $expected_hidden }
581
    );
582
    test_query(
583
        'ListRecords - biblio with a single item hidden by OpacHiddenItems returns as deleted',
584
        $list_items,
585
        { ListRecords => $expected_hidden }
586
    );
587
588
    $schema->storage->txn_rollback;
589
};
590
518
subtest 'Tests for timestamp handling' => sub {
591
subtest 'Tests for timestamp handling' => sub {
519
592
520
    plan tests => 28;
593
    plan tests => 28;
521
- 

Return to bug 31161