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 |
- |
|
|