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