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