| 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 335-367
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 335 |     my $client_item_fields = { | 340 |     my $client_item_fields = { | 
        
          | 336 |         'notforloans' => [ | 341 |         'notforloans' => [ | 
        
          | 337 |             '', | 342 |             '', | 
            
              | 338 |             '' |  |  | 
        
          | 339 |         ], | 343 |         ], | 
        
          | 340 |         'c_budget_id'       => 2, | 344 |         'c_budget_id'       => 2, | 
        
          | 341 |         'replacementprices' => [ | 345 |         'replacementprices' => [ | 
        
          | 342 |             '0.00', | 346 |             '0.00', | 
            
              | 343 |             '0.00' |  |  | 
        
          | 344 |         ], | 347 |         ], | 
        
          | 345 |         'uris' => [ | 348 |         'uris' => [ | 
        
          | 346 |             '', | 349 |             '', | 
            
              | 347 |             '' |  |  | 
        
          | 348 |         ], | 350 |         ], | 
        
          | 349 |         'c_replacement_price' => '0.00', | 351 |         'c_replacement_price' => '0.00', | 
          
            
              | 350 |         'public_notes'        => [ | 352 |         'public_notes'        => [''], | 
            
              | 351 |             '', | 353 |         'itemcallnumbers'     => [ | 
            
              | 352 |             '' |  |  | 
            
              | 353 |         ], | 
            
              | 354 |         'itemcallnumbers' => [ | 
        
          | 355 |             '', | 354 |             '', | 
            
              | 356 |             '' |  |  | 
        
          | 357 |         ], | 355 |         ], | 
        
          | 358 |         'budget_codes' => [ | 356 |         'budget_codes' => [ | 
        
          | 359 |             '', | 357 |             '', | 
            
              | 360 |             '' |  |  | 
        
          | 361 |         ], | 358 |         ], | 
        
          | 362 |         'nonpublic_notes' => [ | 359 |         'nonpublic_notes' => [ | 
        
          | 363 |             '', | 360 |             '', | 
            
              | 364 |             '' |  |  | 
        
          | 365 |         ], | 361 |         ], | 
        
          | 366 |         'homebranches' => [ | 362 |         'homebranches' => [ | 
        
          | 367 |             $branchcode, | 363 |             $branchcode, | 
  
    | Lines 369-375
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 369 |         ], | 365 |         ], | 
        
          | 370 |         'copynos' => [ | 366 |         'copynos' => [ | 
        
          | 371 |             '', | 367 |             '', | 
            
              | 372 |             '' |  |  | 
        
          | 373 |         ], | 368 |         ], | 
        
          | 374 |         'holdingbranches' => [ | 369 |         'holdingbranches' => [ | 
        
          | 375 |             $branchcode, | 370 |             $branchcode, | 
  
    | Lines 377-383
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 377 |         ], | 372 |         ], | 
        
          | 378 |         'ccodes' => [ | 373 |         'ccodes' => [ | 
        
          | 379 |             '', | 374 |             '', | 
            
              | 380 |             '' |  |  | 
        
          | 381 |         ], | 375 |         ], | 
        
          | 382 |         'locs' => [ | 376 |         'locs' => [ | 
        
          | 383 |             '', | 377 |             '', | 
  
    | Lines 385-391
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 385 |         ], | 379 |         ], | 
        
          | 386 |         'itemprices' => [ | 380 |         'itemprices' => [ | 
        
          | 387 |             '10.00', | 381 |             '10.00', | 
            
              | 388 |             '10.00' |  |  | 
        
          | 389 |         ], | 382 |         ], | 
        
          | 390 |         'c_discount' => '', | 383 |         'c_discount' => '', | 
        
          | 391 |         'c_price'    => '0.00', | 384 |         'c_price'    => '0.00', | 
  
    | Lines 394-400
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 394 |         'c_quantity' => '1', | 387 |         'c_quantity' => '1', | 
        
          | 395 |         'itypes'     => [ | 388 |         'itypes'     => [ | 
        
          | 396 |             'BK', | 389 |             'BK', | 
            
              | 397 |             'BK' |  |  | 
        
          | 398 |         ], | 390 |         ], | 
        
          | 399 |         'coded_location_qualifiers' => [], | 391 |         'coded_location_qualifiers' => [], | 
        
          | 400 |         'barcodes'                  => [], | 392 |         'barcodes'                  => [], | 
  
    | Lines 426-432
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 426 |         "Listprice has been created successfully" | 418 |         "Listprice has been created successfully" | 
        
          | 427 |     ); | 419 |     ); | 
        
          | 428 |     is( | 420 |     is( | 
          
            
              | 429 |         @{$orders}[0]->{quantity}, 2, | 421 |         @{$orders}[0]->{quantity}, 1, | 
        
          | 430 |         "Quantity has been read correctly" | 422 |         "Quantity has been read correctly" | 
        
          | 431 |     ); | 423 |     ); | 
        
          | 432 |     is( | 424 |     is( | 
  
    | Lines 448-450
          subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
      
      
        Link Here | 
        
          | 448 |     $schema->storage->txn_rollback; | 440 |     $schema->storage->txn_rollback; | 
        
          | 449 | }; | 441 | }; | 
        
          | 450 |  | 442 |  | 
          
            
              | 451 | -  | 443 | subtest 'match_file_to_account' => sub { | 
            
              |  |  | 444 |     plan tests => 2; | 
            
              | 445 |  | 
            
              | 446 |     $schema->storage->txn_begin; | 
            
              | 447 |  | 
            
              | 448 |     my ( $fh, $name ) = tempfile( SUFFIX => '.marcxml' ); | 
            
              | 449 |  | 
            
              | 450 |     my $rec = MARC::Record->new; | 
            
              | 451 |     my $fld = MARC::Field->new( '975', '', '', 'p', '12345' ); | 
            
              | 452 |     $rec->append_fields($fld); | 
            
              | 453 |     my $str = $rec->as_xml; | 
            
              | 454 |  | 
            
              | 455 |     print $fh $str; | 
            
              | 456 |  | 
            
              | 457 |     close $fh; | 
            
              | 458 |  | 
            
              | 459 |     my $account1 = Koha::MarcOrderAccount->new( | 
            
              | 460 |         { | 
            
              | 461 |             match_field => '975$p', | 
            
              | 462 |             match_value => '12345', | 
            
              | 463 |             encoding    => 'UTF-8', | 
            
              | 464 |             description => 'test', | 
            
              | 465 |         } | 
            
              | 466 |     )->store; | 
            
              | 467 |  | 
            
              | 468 |     my $file_match = Koha::MarcOrder->match_file_to_account( | 
            
              | 469 |         { | 
            
              | 470 |             filename => $name, | 
            
              | 471 |             filepath => $name, | 
            
              | 472 |             profile  => $account1, | 
            
              | 473 |         } | 
            
              | 474 |     ); | 
            
              | 475 |  | 
            
              | 476 |     is( $file_match, 1, 'File matched correctly to the account' ); | 
            
              | 477 |  | 
            
              | 478 |     my $account2 = Koha::MarcOrderAccount->new( | 
            
              | 479 |         { | 
            
              | 480 |             match_field => '975$p', | 
            
              | 481 |             match_value => 'abcde', | 
            
              | 482 |             encoding    => 'UTF-8', | 
            
              | 483 |             description => 'test', | 
            
              | 484 |         } | 
            
              | 485 |     )->store; | 
            
              | 486 |  | 
            
              | 487 |     my $file_match2 = Koha::MarcOrder->match_file_to_account( | 
            
              | 488 |         { | 
            
              | 489 |             filename => $name, | 
            
              | 490 |             filepath => $name, | 
            
              | 491 |             profile  => $account2, | 
            
              | 492 |         } | 
            
              | 493 |     ); | 
            
              | 494 |  | 
            
              | 495 |     is( $file_match2, 0, 'File not matched to the account' ); | 
            
              | 496 |  | 
            
              | 497 |     $schema->storage->txn_rollback; | 
            
              | 498 | }; |