|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 15; |
20 |
use Test::More tests => 16; |
| 21 |
use Test::MockModule; |
21 |
use Test::MockModule; |
| 22 |
use Test::Warn; |
22 |
use Test::Warn; |
| 23 |
use List::MoreUtils qw( uniq ); |
23 |
use List::MoreUtils qw( uniq ); |
|
Lines 40-45
my $schema = Koha::Database->new->schema;
Link Here
|
| 40 |
$schema->storage->txn_begin; |
40 |
$schema->storage->txn_begin; |
| 41 |
my $dbh = C4::Context->dbh; |
41 |
my $dbh = C4::Context->dbh; |
| 42 |
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" ); |
42 |
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" ); |
|
|
43 |
t::lib::Mocks::mock_preference('AutoAddSystemControlNumberAndMARCOrgCode', 0); |
| 43 |
|
44 |
|
| 44 |
my $builder = t::lib::TestBuilder->new; |
45 |
my $builder = t::lib::TestBuilder->new; |
| 45 |
|
46 |
|
|
Lines 825-830
subtest "LinkBibHeadingsToAuthorities record generation tests" => sub {
Link Here
|
| 825 |
); |
826 |
); |
| 826 |
}; |
827 |
}; |
| 827 |
|
828 |
|
|
|
829 |
subtest 'AutoAddSystemControlNumberAndMARCOrgCode' => sub { |
| 830 |
plan tests => 4; |
| 831 |
t::lib::Mocks::mock_preference('MARCOrgCode', 'OrgKoha'); |
| 832 |
|
| 833 |
my $biblio = $builder->build_sample_biblio(); |
| 834 |
my $record = $biblio->metadata->record; |
| 835 |
my $field; |
| 836 |
|
| 837 |
$field = $record->field('001'); |
| 838 |
if ($field) { |
| 839 |
$record->delete_fields($field); |
| 840 |
} |
| 841 |
$field = $record->field('003'); |
| 842 |
if ($field) { |
| 843 |
$record->delete_fields($field); |
| 844 |
} |
| 845 |
|
| 846 |
$record->insert_fields_ordered(MARC::Field->new('001', '123123')); |
| 847 |
$record->insert_fields_ordered(MARC::Field->new('003', 'OrgExternal')); |
| 848 |
|
| 849 |
my ($biblionumber) = AddBiblio($record->clone, ''); |
| 850 |
my $saved_record = GetMarcBiblio({ biblionumber => $biblionumber }); |
| 851 |
|
| 852 |
is( |
| 853 |
$saved_record->field('001')->data(), |
| 854 |
'123123', |
| 855 |
'Record system control number has retained it\'s original value' |
| 856 |
); |
| 857 |
is( |
| 858 |
$saved_record->field('003')->data(), |
| 859 |
'OrgExternal', |
| 860 |
'Record control number identifier has retained it\'s original value' |
| 861 |
); |
| 862 |
|
| 863 |
t::lib::Mocks::mock_preference('AutoAddSystemControlNumberAndMARCOrgCode', 1); |
| 864 |
|
| 865 |
($biblionumber) = AddBiblio($record, ''); |
| 866 |
$saved_record = GetMarcBiblio({ biblionumber => $biblionumber }); |
| 867 |
|
| 868 |
is( |
| 869 |
$saved_record->field('001')->data(), |
| 870 |
$biblionumber, |
| 871 |
'Record system control number been set to Koha biblionumber' |
| 872 |
); |
| 873 |
|
| 874 |
is( |
| 875 |
$saved_record->field('003')->data(), |
| 876 |
'OrgKoha', |
| 877 |
'Record control number identifier been set to MARCOrgCode syspref value' |
| 878 |
); |
| 879 |
}; |
| 880 |
|
| 828 |
# Cleanup |
881 |
# Cleanup |
| 829 |
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" ); |
882 |
Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" ); |
| 830 |
$schema->storage->txn_rollback; |
883 |
$schema->storage->txn_rollback; |
| 831 |
- |
|
|