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

(-)a/Koha/Biblio/Metadata/Extractor/MARC.pm (-2 / +6 lines)
Lines 42-52 Constructor for the I<Koha::Biblio::Metadata::Extractor::MARC> class. Link Here
42
sub new {
42
sub new {
43
    my ( $class, $params ) = @_;
43
    my ( $class, $params ) = @_;
44
44
45
    # If metadata is missing, we should have a biblio parameter (Koha object).
46
    # If we do not have biblio, metadata should be a MARC::Record object.
45
    Koha::Exceptions::MissingParameter->throw( parameter => 'metadata' )
47
    Koha::Exceptions::MissingParameter->throw( parameter => 'metadata' )
46
        unless $params->{metadata} || $params->{biblio};
48
        unless $params->{metadata} || $params->{biblio};
49
    Koha::Exceptions::BadParameter->throw('biblio should be a Koha object')
50
        if $params->{biblio} && ref( $params->{biblio} ) ne 'Koha::Biblio';
51
    Koha::Exceptions::BadParameter->throw('metadata should be a MARC::Record')
52
        if !$params->{biblio} && ref( $params->{metadata} ) ne 'MARC::Record';
47
53
48
    #my $metadata = $biblio->metadata;
49
    #my $schema   = $metadata->schema;
50
    # Get the schema from the pref so that we do not fetch the biblio_metadata
54
    # Get the schema from the pref so that we do not fetch the biblio_metadata
51
    my $schema = C4::Context->preference('marcflavour');
55
    my $schema = C4::Context->preference('marcflavour');
52
56
(-)a/t/db_dependent/Koha/Biblio/Metadata/Extractor/MARC.t (-2 / +26 lines)
Lines 20-36 Link Here
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::NoWarnings;
22
use Test::NoWarnings;
23
use Test::More tests => 2;
23
use Test::More tests => 3;
24
use Test::Exception;
24
use Test::Exception;
25
25
26
use t::lib::TestBuilder;
26
use t::lib::TestBuilder;
27
use t::lib::Mocks;
27
use t::lib::Mocks;
28
28
29
use Koha::Biblios;
29
use Koha::Biblio::Metadata::Extractor;
30
use Koha::Biblio::Metadata::Extractor;
30
31
31
my $schema  = Koha::Database->schema;
32
my $schema  = Koha::Database->schema;
32
my $builder = t::lib::TestBuilder->new;
33
my $builder = t::lib::TestBuilder->new;
33
34
35
subtest 'new' => sub {
36
    plan tests => 6;
37
38
    my ( $extractor, $params, $record, $biblio );
39
    throws_ok { $extractor = Koha::Biblio::Metadata::Extractor->new } 'Koha::Exceptions::MissingParameter',
40
        'No parameters';
41
    $params = { metadata => q{} };
42
    throws_ok { $extractor = Koha::Biblio::Metadata::Extractor->new($params) } 'Koha::Exceptions::MissingParameter',
43
        'metadata empty';
44
    $params = { metadata => '123' };
45
    throws_ok { $extractor = Koha::Biblio::Metadata::Extractor->new($params) } 'Koha::Exceptions::BadParameter',
46
        'metadata no object';
47
    $params = { metadata => q{}, biblio => 1 };
48
    throws_ok { $extractor = Koha::Biblio::Metadata::Extractor->new($params) } 'Koha::Exceptions::BadParameter',
49
        'biblio no object';
50
51
    $record = MARC::Record->new;
52
    $params = { metadata => $record };
53
    lives_ok { $extractor = Koha::Biblio::Metadata::Extractor->new($params) } 'correct metadata';
54
    $biblio = Koha::Biblio->new;
55
    $params = { metadata => q{}, biblio => $biblio };
56
    lives_ok { $extractor = Koha::Biblio::Metadata::Extractor->new($params) } 'correct biblio overrules metadata';
57
};
58
34
subtest 'get_control_number() tests' => sub {
59
subtest 'get_control_number() tests' => sub {
35
60
36
    plan tests => 8;
61
    plan tests => 8;
37
- 

Return to bug 41031