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

(-)a/t/db_dependent/Biblio.t (-31 / +44 lines)
Lines 66-94 $biblio_module->mock( Link Here
66
    sub {
66
    sub {
67
        my ($self) = shift;
67
        my ($self) = shift;
68
68
69
        if (   C4::Context->preference('marcflavour') eq 'MARC21'
69
        my ( $title_field,            $title_subfield )            = get_title_field();
70
            || C4::Context->preference('marcflavour') eq 'NORMARC' ) {
70
        my ( $isbn_field,             $isbn_subfield )             = get_isbn_field();
71
71
        my ( $issn_field,             $issn_subfield )             = get_issn_field();
72
            return {
72
        my ( $biblionumber_field,     $biblionumber_subfield )     = ( '999', 'c' );
73
                'biblio.title'                 => { tagfield => '245', tagsubfield => 'a' },
73
        my ( $biblioitemnumber_field, $biblioitemnumber_subfield ) = ( '999', '9' );
74
                'biblio.biblionumber'          => { tagfield => '999', tagsubfield => 'c' },
74
        my ( $itemnumber_field,       $itemnumber_subfield )       = get_itemnumber_field();
75
                'biblioitems.isbn'             => { tagfield => '020', tagsubfield => 'a' },
75
76
                'biblioitems.issn'             => { tagfield => '022', tagsubfield => 'a' },
76
        return {
77
                'biblioitems.biblioitemnumber' => { tagfield => '999', tagsubfield => 'd' },
77
            'biblio.title'                 => { tagfield => $title_field,            tagsubfield => $title_subfield },
78
                'items.itemnumber'             => { tagfield => '952', tagsubfield => '9' },
78
            'biblio.biblionumber'          => { tagfield => $biblionumber_field,     tagsubfield => $biblionumber_subfield },
79
            };
79
            'biblioitems.isbn'             => { tagfield => $isbn_field,             tagsubfield => $isbn_subfield },
80
        } elsif ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) {
80
            'biblioitems.issn'             => { tagfield => $issn_field,             tagsubfield => $issn_subfield },
81
81
            'biblioitems.biblioitemnumber' => { tagfield => $biblioitemnumber_field, tagsubfield => $biblioitemnumber_subfield },
82
            return {
82
            'items.itemnumber'             => { tagfield => $itemnumber_subfield,    tagsubfield => $itemnumber_subfield },
83
                'biblio.title'                 => { tagfield => '200', tagsubfield => 'a' },
83
        };
84
                'biblio.biblionumber'          => { tagfield => '999', tagsubfield => 'c' },
84
      }
85
                'biblioitems.isbn'             => { tagfield => '010', tagsubfield => 'a' },
86
                'biblioitems.issn'             => { tagfield => '011', tagsubfield => 'a' },
87
                'biblioitems.biblioitemnumber' => { tagfield => '090', tagsubfield => 'a' },
88
                'items.itemnumber'             => { tagfield => '995', tagsubfield => '9' },
89
            };
90
        }
91
    }
92
);
85
);
93
86
94
my $currency = new Test::MockModule('Koha::Acquisition::Currencies');
87
my $currency = new Test::MockModule('Koha::Acquisition::Currencies');
Lines 275-285 sub run_tests { Link Here
275
        'Check the number of returned notes of GetMarcNotes' );
268
        'Check the number of returned notes of GetMarcNotes' );
276
}
269
}
277
270
271
sub get_title_field {
272
    my $marc_flavour = C4::Context->preference('marcflavour');
273
    return ( $marc_flavour eq 'UNIMARC' ) ? ( '200', 'a' ) : ( '245', 'a' );
274
}
275
276
sub get_isbn_field {
277
    my $marc_flavour = C4::Context->preference('marcflavour');
278
    return ( $marc_flavour eq 'UNIMARC' ) ? ( '010', 'a' ) : ( '020', 'a' );
279
}
280
281
sub get_issn_field {
282
    my $marc_flavour = C4::Context->preference('marcflavour');
283
    return ( $marc_flavour eq 'UNIMARC' ) ? ( '011', 'a' ) : ( '022', 'a' );
284
}
285
286
sub get_itemnumber_field {
287
    my $marc_flavour = C4::Context->preference('marcflavour');
288
    return ( $marc_flavour eq 'UNIMARC' ) ? ( '995', '9' ) : ( '952', '9' );
289
}
290
278
sub create_title_field {
291
sub create_title_field {
279
    my ( $title, $marcflavour ) = @_;
292
    my ( $title, $marcflavour ) = @_;
280
293
281
    my $title_field = ( $marcflavour eq 'UNIMARC' ) ? '200' : '245';
294
    my ( $title_field, $title_subfield ) = get_title_field();
282
    my $field = MARC::Field->new( $title_field,'','','a' => $title);
295
    my $field = MARC::Field->new( $title_field, '', '', $title_subfield => $title );
283
296
284
    return $field;
297
    return $field;
285
}
298
}
Lines 287-296 sub create_title_field { Link Here
287
sub create_isbn_field {
300
sub create_isbn_field {
288
    my ( $isbn, $marcflavour ) = @_;
301
    my ( $isbn, $marcflavour ) = @_;
289
302
290
    my $isbn_field = ( $marcflavour eq 'UNIMARC' ) ? '010' : '020';
303
    my ( $isbn_field, $isbn_subfield ) = get_isbn_field();
291
    my $field = MARC::Field->new( $isbn_field,'','','a' => $isbn);
304
    my $field = MARC::Field->new( $isbn_field, '', '', $isbn_subfield => $isbn );
305
292
    # Add the price subfield
306
    # Add the price subfield
293
    my $price_subfield = ( $marcflavour eq 'UNIMARC' ) ? 'd' : 'c' ;
307
    my $price_subfield = ( $marcflavour eq 'UNIMARC' ) ? 'd' : 'c';
294
    $field->add_subfields( $price_subfield => '$100' );
308
    $field->add_subfields( $price_subfield => '$100' );
295
309
296
    return $field;
310
    return $field;
Lines 299-306 sub create_isbn_field { Link Here
299
sub create_issn_field {
313
sub create_issn_field {
300
    my ( $issn, $marcflavour ) = @_;
314
    my ( $issn, $marcflavour ) = @_;
301
315
302
    my $issn_field = ( $marcflavour eq 'UNIMARC' ) ? '011' : '022';
316
    my ( $issn_field, $issn_subfield ) = get_issn_field();
303
    my $field = MARC::Field->new( $issn_field,'','','a' => $issn);
317
    my $field = MARC::Field->new( $issn_field, '', '', $issn_subfield => $issn );
304
318
305
    return $field;
319
    return $field;
306
}
320
}
307
- 

Return to bug 17196