| Lines 17-25
          
      
      
        Link Here | 
        
          | 17 |  | 17 |  | 
        
          | 18 | use Modern::Perl; | 18 | use Modern::Perl; | 
        
          | 19 |  | 19 |  | 
          
            
              | 20 | use Test::More tests => 4; | 20 | use Test::More tests => 5; | 
        
          | 21 |  | 21 |  | 
        
          | 22 | use Koha::MarcOrder; | 22 | use Koha::MarcOrder; | 
            
              |  |  | 23 | use Koha::MarcOrderAccount; | 
        
          | 23 | use Koha::Acquisition::Baskets; | 24 | use Koha::Acquisition::Baskets; | 
        
          | 24 | use Koha::Acquisition::Bookseller; | 25 | use Koha::Acquisition::Bookseller; | 
        
          | 25 | use MARC::Record; | 26 | use MARC::Record; | 
  
    | Lines 29-34
          use Koha::Database;
      
      
        Link Here | 
        
          | 29 | use t::lib::Mocks; | 30 | use t::lib::Mocks; | 
        
          | 30 | use t::lib::TestBuilder; | 31 | use t::lib::TestBuilder; | 
        
          | 31 |  | 32 |  | 
            
              |  |  | 33 | use File::Temp qw|tempfile|; | 
            
              | 34 | use MARC::Field; | 
            
              | 35 | use MARC::File::XML; | 
            
              | 36 |  | 
        
          | 32 | my $schema  = Koha::Database->new->schema; | 37 | my $schema  = Koha::Database->new->schema; | 
        
          | 33 | my $builder = t::lib::TestBuilder->new; | 38 | my $builder = t::lib::TestBuilder->new; | 
        
          | 34 |  | 39 |  | 
  
    | Lines 320-368
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 320 |     my $client_item_fields = { | 325 |     my $client_item_fields = { | 
        
          | 321 |         'notforloans' => [ | 326 |         'notforloans' => [ | 
        
          | 322 |             '', | 327 |             '', | 
            
              | 323 |             '' |  |  | 
        
          | 324 |         ], | 328 |         ], | 
        
          | 325 |         'c_budget_id'       => 2, | 329 |         'c_budget_id'       => 2, | 
        
          | 326 |         'replacementprices' => [ | 330 |         'replacementprices' => [ | 
        
          | 327 |             '0.00', | 331 |             '0.00', | 
            
              | 328 |             '0.00' |  |  | 
        
          | 329 |         ], | 332 |         ], | 
        
          | 330 |         'uris' => [ | 333 |         'uris' => [ | 
        
          | 331 |             '', | 334 |             '', | 
            
              | 332 |             '' |  |  | 
        
          | 333 |         ], | 335 |         ], | 
        
          | 334 |         'c_replacement_price' => '0.00', | 336 |         'c_replacement_price' => '0.00', | 
          
            
              | 335 |         'public_notes'        => [ | 337 |         'public_notes'        => [''], | 
            
              | 336 |             '', | 338 |         'itemcallnumbers'     => [ | 
            
              | 337 |             '' |  |  | 
            
              | 338 |         ], | 
            
              | 339 |         'itemcallnumbers' => [ | 
        
          | 340 |             '', | 339 |             '', | 
            
              | 341 |             '' |  |  | 
        
          | 342 |         ], | 340 |         ], | 
        
          | 343 |         'budget_codes' => [ | 341 |         'budget_codes' => [ | 
        
          | 344 |             '', | 342 |             '', | 
            
              | 345 |             '' |  |  | 
        
          | 346 |         ], | 343 |         ], | 
        
          | 347 |         'nonpublic_notes' => [ | 344 |         'nonpublic_notes' => [ | 
        
          | 348 |             '', | 345 |             '', | 
            
              | 349 |             '' |  |  | 
        
          | 350 |         ], | 346 |         ], | 
        
          | 351 |         'homebranches' => [ | 347 |         'homebranches' => [ | 
        
          | 352 |             'CPL', | 348 |             'CPL', | 
            
              | 353 |             'CPL' |  |  | 
        
          | 354 |         ], | 349 |         ], | 
        
          | 355 |         'copynos' => [ | 350 |         'copynos' => [ | 
        
          | 356 |             '', | 351 |             '', | 
            
              | 357 |             '' |  |  | 
        
          | 358 |         ], | 352 |         ], | 
        
          | 359 |         'holdingbranches' => [ | 353 |         'holdingbranches' => [ | 
        
          | 360 |             'CPL', | 354 |             'CPL', | 
            
              | 361 |             'CPL' |  |  | 
        
          | 362 |         ], | 355 |         ], | 
        
          | 363 |         'ccodes' => [ | 356 |         'ccodes' => [ | 
        
          | 364 |             '', | 357 |             '', | 
            
              | 365 |             '' |  |  | 
        
          | 366 |         ], | 358 |         ], | 
        
          | 367 |         'locs' => [ | 359 |         'locs' => [ | 
        
          | 368 |             '', | 360 |             '', | 
  
    | Lines 370-376
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 370 |         ], | 362 |         ], | 
        
          | 371 |         'itemprices' => [ | 363 |         'itemprices' => [ | 
        
          | 372 |             '10.00', | 364 |             '10.00', | 
            
              | 373 |             '10.00' |  |  | 
        
          | 374 |         ], | 365 |         ], | 
        
          | 375 |         'c_discount' => '', | 366 |         'c_discount' => '', | 
        
          | 376 |         'c_price'    => '0.00', | 367 |         'c_price'    => '0.00', | 
  
    | Lines 379-385
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 379 |         'c_quantity' => '1', | 370 |         'c_quantity' => '1', | 
        
          | 380 |         'itypes'     => [ | 371 |         'itypes'     => [ | 
        
          | 381 |             'BK', | 372 |             'BK', | 
            
              | 382 |             'BK' |  |  | 
        
          | 383 |         ], | 373 |         ], | 
        
          | 384 |         'coded_location_qualifiers' => [], | 374 |         'coded_location_qualifiers' => [], | 
        
          | 385 |         'barcodes'                  => [], | 375 |         'barcodes'                  => [], | 
  
    | Lines 408-414
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 408 |         "Listprice has been created successfully" | 398 |         "Listprice has been created successfully" | 
        
          | 409 |     ); | 399 |     ); | 
        
          | 410 |     is( | 400 |     is( | 
          
            
              | 411 |         @{$orders}[0]->{quantity}, 2, | 401 |         @{$orders}[0]->{quantity}, 1, | 
        
          | 412 |         "Quantity has been read correctly" | 402 |         "Quantity has been read correctly" | 
        
          | 413 |     ); | 403 |     ); | 
        
          | 414 |     is( | 404 |     is( | 
  
    | Lines 430-432
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 430 |     $schema->storage->txn_rollback; | 420 |     $schema->storage->txn_rollback; | 
        
          | 431 | }; | 421 | }; | 
        
          | 432 |  | 422 |  | 
          
            
              | 433 | -  | 423 | subtest 'match_file_to_account' => sub { | 
            
              |  |  | 424 |     plan tests => 2; | 
            
              | 425 |  | 
            
              | 426 |     $schema->storage->txn_begin; | 
            
              | 427 |  | 
            
              | 428 |     my ( $fh, $name ) = tempfile( SUFFIX => '.marcxml' ); | 
            
              | 429 |  | 
            
              | 430 |     my $rec = MARC::Record->new; | 
            
              | 431 |     my $fld = MARC::Field->new( '975', '', '', 'p', '12345' ); | 
            
              | 432 |     $rec->append_fields($fld); | 
            
              | 433 |     my $str = $rec->as_xml; | 
            
              | 434 |  | 
            
              | 435 |     print $fh $str; | 
            
              | 436 |  | 
            
              | 437 |     close $fh; | 
            
              | 438 |  | 
            
              | 439 |     my $account1 = Koha::MarcOrderAccount->new( | 
            
              | 440 |         { | 
            
              | 441 |             match_field => '975$p', | 
            
              | 442 |             match_value => '12345', | 
            
              | 443 |             encoding    => 'UTF-8', | 
            
              | 444 |             description => 'test', | 
            
              | 445 |         } | 
            
              | 446 |     )->store; | 
            
              | 447 |  | 
            
              | 448 |     my $file_match = Koha::MarcOrder->match_file_to_account( | 
            
              | 449 |         { | 
            
              | 450 |             filename => $name, | 
            
              | 451 |             filepath => $name, | 
            
              | 452 |             profile  => $account1, | 
            
              | 453 |         } | 
            
              | 454 |     ); | 
            
              | 455 |  | 
            
              | 456 |     is( $file_match, 1, 'File matched correctly to the account' ); | 
            
              | 457 |  | 
            
              | 458 |     my $account2 = Koha::MarcOrderAccount->new( | 
            
              | 459 |         { | 
            
              | 460 |             match_field => '975$p', | 
            
              | 461 |             match_value => 'abcde', | 
            
              | 462 |             encoding    => 'UTF-8', | 
            
              | 463 |             description => 'test', | 
            
              | 464 |         } | 
            
              | 465 |     )->store; | 
            
              | 466 |  | 
            
              | 467 |     my $file_match2 = Koha::MarcOrder->match_file_to_account( | 
            
              | 468 |         { | 
            
              | 469 |             filename => $name, | 
            
              | 470 |             filepath => $name, | 
            
              | 471 |             profile  => $account2, | 
            
              | 472 |         } | 
            
              | 473 |     ); | 
            
              | 474 |  | 
            
              | 475 |     is( $file_match2, 0, 'File not matched to the account' ); | 
            
              | 476 |  | 
            
              | 477 |     $schema->storage->txn_rollback; | 
            
              | 478 | }; |