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

(-)a/t/db_dependent/Record/marcrecord2csv.t (-3 / +40 lines)
Lines 1-7 Link Here
1
#!/usr/bin/perl;
1
#!/usr/bin/perl;
2
2
3
use Modern::Perl;
3
use Modern::Perl;
4
use Test::More tests => 9;
4
use Test::More tests => 11;
5
use Test::MockModule;
5
use Test::MockModule;
6
use MARC::Record;
6
use MARC::Record;
7
use MARC::Field;
7
use MARC::Field;
Lines 11-24 use C4::Biblio qw( AddBiblio ); Link Here
11
use C4::Context;
11
use C4::Context;
12
use C4::Record;
12
use C4::Record;
13
13
14
use t::lib::TestBuilder;
15
14
my $dbh = C4::Context->dbh;
16
my $dbh = C4::Context->dbh;
15
$dbh->{AutoCommit} = 0;
17
$dbh->{AutoCommit} = 0;
16
$dbh->{RaiseError} = 1;
18
$dbh->{RaiseError} = 1;
17
19
20
my $builder = t::lib::TestBuilder->new;
18
my $module_biblio = Test::MockModule->new('C4::Biblio');
21
my $module_biblio = Test::MockModule->new('C4::Biblio');
19
22
20
my $record = new_record();
23
my $record = new_record();
21
my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, q|| );
24
my $frameworkcode = q||;
25
my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, $frameworkcode );
22
$module_biblio->mock( 'GetMarcBiblio', sub{ $record } );
26
$module_biblio->mock( 'GetMarcBiblio', sub{ $record } );
23
27
24
my $csv_content = q(Title=245$a|Author=245$c|Subject=650$a);
28
my $csv_content = q(Title=245$a|Author=245$c|Subject=650$a);
Lines 88-93 is( $csv_output, q[Title Link Here
88
], q|TT way: display first subfield a for first field 245 if indicator 1 == 1 for field 100 is set| );
92
], q|TT way: display first subfield a for first field 245 if indicator 1 == 1 for field 100 is set| );
89
93
90
94
95
my $authorised_value_1 =
96
  $builder->build( { source => 'AuthorisedValue', value => { category => 'MY_AV_1', authorised_value => 1, lib => 'This is an AV', lib_opac => 'This is an AV (opac)' } } );
97
my $authorised_value_2 = $builder->build(
98
    { source => 'AuthorisedValue', value => { category => 'MY_AV_2', authorised_value => 2, lib => 'This is another AV', lib_opac => 'This is another AV (opac)' } } );
99
$dbh->do(q|DELETE FROM marc_subfield_structure WHERE tagfield=998 and ( tagsubfield='8' or tagsubfield='9')|);
100
$builder->build(
101
    { source => 'MarcSubfieldStructure', value => { authorised_value => $authorised_value_1->{category}, tagfield => 998, tagsubfield => '8', frameworkcode => $frameworkcode } }
102
);
103
$builder->build(
104
    { source => 'MarcSubfieldStructure', value => { authorised_value => $authorised_value_2->{category}, tagfield => 998, tagsubfield => '9', frameworkcode => $frameworkcode } }
105
);
106
$csv_content = q(Title=245$a|AV1=998$8|AV2=998$9);
107
my $csv_profile_id_8 = insert_csv_profile( { csv_content => $csv_content } );
108
$csv_output = C4::Record::marcrecord2csv( $biblionumber, $csv_profile_id_8, 1, $csv );
109
is( $csv_output, q[Title|AV1|AV2
110
"The art of computer programming,The art of another title"|"This is an AV"|"This is another AV"
111
], q|TT way: display first subfield a for first field 245 if indicator 1 == 1 for field 100 is set|
112
);
113
114
$csv_content = q(Title=245$a|AVs=998);
115
my $csv_profile_id_9 = insert_csv_profile( { csv_content => $csv_content } );
116
$csv_output = C4::Record::marcrecord2csv( $biblionumber, $csv_profile_id_9, 1, $csv );
117
is( $csv_output, q[Title|AVs
118
"The art of computer programming,The art of another title"|"This is an AV,This is another AV"
119
], q|TT way: display first subfield a for first field 245 if indicator 1 == 1 for field 100 is set|
120
);
121
122
123
91
sub insert_csv_profile {
124
sub insert_csv_profile {
92
    my ( $params ) = @_;
125
    my ( $params ) = @_;
93
    my $csv_content = $params->{csv_content};
126
    my $csv_content = $params->{csv_content};
Lines 139-144 sub new_record { Link Here
139
            c => 'GEN',
172
            c => 'GEN',
140
            d => '2001-06-25',
173
            d => '2001-06-25',
141
        ),
174
        ),
175
        MARC::Field->new(
176
            998, ' ', ' ',
177
            8 => 1,
178
            9 => 2,
179
        ),
142
    );
180
    );
143
    $record->append_fields(@fields);
181
    $record->append_fields(@fields);
144
    return $record;
182
    return $record;
145
- 

Return to bug 17249