Lines 243-249
subtest 'add_biblio_from_import_record()' => sub {
Link Here
|
243 |
}; |
243 |
}; |
244 |
|
244 |
|
245 |
subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { |
245 |
subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub { |
246 |
plan tests => 6; |
246 |
plan tests => 2; |
247 |
|
247 |
|
248 |
$schema->storage->txn_begin; |
248 |
$schema->storage->txn_begin; |
249 |
|
249 |
|
Lines 337-441
subtest 'add_items_from_import_record() - addorderiso2709.pl' => sub {
Link Here
|
337 |
} |
337 |
} |
338 |
); |
338 |
); |
339 |
|
339 |
|
340 |
my $client_item_fields = { |
340 |
subtest "Using MarcItemFieldsToOrder" => sub { |
341 |
'notforloans' => [ |
341 |
plan tests => 6; |
342 |
'', |
342 |
|
343 |
], |
343 |
my $client_item_fields = { |
344 |
'c_budget_id' => 2, |
344 |
'notforloans' => [ |
345 |
'replacementprices' => [ |
345 |
'', |
346 |
'0.00', |
346 |
], |
347 |
], |
347 |
'c_budget_id' => 2, |
348 |
'uris' => [ |
348 |
'replacementprices' => [ |
349 |
'', |
349 |
'0.00', |
350 |
], |
350 |
], |
351 |
'c_replacement_price' => '0.00', |
351 |
'uris' => [ |
352 |
'public_notes' => [''], |
352 |
'', |
353 |
'itemcallnumbers' => [ |
353 |
], |
354 |
'', |
354 |
'c_replacement_price' => '0.00', |
355 |
], |
355 |
'public_notes' => [''], |
356 |
'budget_codes' => [ |
356 |
'itemcallnumbers' => [ |
357 |
'', |
357 |
'', |
358 |
], |
358 |
], |
359 |
'nonpublic_notes' => [ |
359 |
'budget_codes' => [ |
360 |
'', |
360 |
'', |
361 |
], |
361 |
], |
362 |
'homebranches' => [ |
362 |
'nonpublic_notes' => [ |
363 |
$branchcode, |
363 |
'', |
364 |
$branchcode |
364 |
], |
365 |
], |
365 |
'homebranches' => [ |
366 |
'copynos' => [ |
366 |
$branchcode, |
367 |
'', |
367 |
$branchcode |
368 |
], |
368 |
], |
369 |
'holdingbranches' => [ |
369 |
'copynos' => [ |
370 |
$branchcode, |
370 |
'', |
371 |
$branchcode |
371 |
], |
372 |
], |
372 |
'holdingbranches' => [ |
373 |
'ccodes' => [ |
373 |
$branchcode, |
374 |
'', |
374 |
$branchcode |
375 |
], |
375 |
], |
376 |
'locs' => [ |
376 |
'ccodes' => [ |
377 |
'', |
377 |
'', |
378 |
'' |
378 |
], |
379 |
], |
379 |
'locs' => [ |
380 |
'itemprices' => [ |
380 |
'', |
381 |
'10.00', |
381 |
'' |
382 |
], |
382 |
], |
383 |
'c_discount' => '', |
383 |
'itemprices' => [ |
384 |
'c_price' => '0.00', |
384 |
'10.00', |
385 |
'c_sort2' => '', |
385 |
], |
386 |
'c_sort1' => '', |
386 |
'c_discount' => '', |
387 |
'c_quantity' => '1', |
387 |
'c_price' => '0.00', |
388 |
'itypes' => [ |
388 |
'c_sort2' => '', |
389 |
'BK', |
389 |
'c_sort1' => '', |
390 |
], |
390 |
'c_quantity' => '1', |
391 |
'coded_location_qualifiers' => [], |
391 |
'itypes' => [ |
392 |
'barcodes' => [], |
392 |
'BK', |
393 |
'enumchrons' => [] |
393 |
], |
|
|
394 |
'coded_location_qualifiers' => [], |
395 |
'barcodes' => [], |
396 |
'enumchrons' => [] |
397 |
}; |
398 |
my $itemnumbers = Koha::MarcOrder::add_items_from_import_record( |
399 |
{ |
400 |
record_result => $result->{record_result}, |
401 |
basket_id => $basket->basketno, |
402 |
vendor => $bookseller, |
403 |
budget_id => $budgetid, |
404 |
agent => 'client', |
405 |
client_item_fields => $client_item_fields, |
406 |
} |
407 |
); |
408 |
|
409 |
my $orders = |
410 |
Koha::Acquisition::Orders->search( { biblionumber => $result->{record_result}->{biblionumber} } ) |
411 |
->unblessed; |
412 |
|
413 |
is( |
414 |
@{$orders}[0]->{rrp} + 0, '10', |
415 |
"Price has been read correctly" |
416 |
); |
417 |
|
418 |
my $active_currency = Koha::Acquisition::Currencies->get_active; |
419 |
is( |
420 |
sprintf( "%.6f", @{$orders}[0]->{listprice} + 0 ), sprintf( "%.6f", 10 / $active_currency->rate + 0 ), |
421 |
"Listprice has been created successfully" |
422 |
); |
423 |
is( |
424 |
@{$orders}[0]->{quantity}, 1, |
425 |
"Quantity has been read correctly" |
426 |
); |
427 |
is( |
428 |
@{$orders}[0]->{budget_id}, $budgetid, |
429 |
"Budget code has been read correctly" |
430 |
); |
431 |
|
432 |
my $new_item = Koha::Items->find( ${$itemnumbers}[0] ); |
433 |
|
434 |
isnt( |
435 |
$new_item, undef, |
436 |
'Item was successfully created' |
437 |
); |
438 |
is( |
439 |
$new_item->price, '10.00', |
440 |
'Item values mapped correctly' |
441 |
); |
394 |
}; |
442 |
}; |
395 |
|
443 |
|
396 |
my $itemnumbers = Koha::MarcOrder::add_items_from_import_record( |
444 |
subtest "Using MarcFieldsToOrder only" => sub { |
397 |
{ |
445 |
plan tests => 9; |
398 |
record_result => $result->{record_result}, |
446 |
|
399 |
basket_id => $basket->basketno, |
447 |
my $client_item_fields = { |
400 |
vendor => $bookseller, |
448 |
'tags' => [ |
401 |
budget_id => $budgetid, |
449 |
'952', |
402 |
agent => 'client', |
450 |
'952', |
403 |
client_item_fields => $client_item_fields, |
451 |
'952', |
404 |
} |
452 |
'952', |
405 |
); |
453 |
], |
406 |
|
454 |
'subfields' => [ |
407 |
my $orders = |
455 |
'a', |
408 |
Koha::Acquisition::Orders->search( { biblionumber => $result->{record_result}->{biblionumber} } )->unblessed; |
456 |
'b', |
409 |
|
457 |
'g', |
410 |
is( |
458 |
'y' |
411 |
@{$orders}[0]->{rrp} + 0, '10', |
459 |
], |
412 |
"Price has been read correctly" |
460 |
field_values => [ |
413 |
); |
461 |
$branchcode, |
414 |
|
462 |
$branchcode, |
415 |
my $active_currency = Koha::Acquisition::Currencies->get_active; |
463 |
"10.00", |
416 |
is( |
464 |
'BK' |
417 |
sprintf( "%.6f", @{$orders}[0]->{listprice} + 0 ), sprintf( "%.6f", 10 / $active_currency->rate + 0 ), |
465 |
], |
418 |
"Listprice has been created successfully" |
466 |
'notforloans' => [ |
419 |
); |
467 |
'', |
420 |
is( |
468 |
], |
421 |
@{$orders}[0]->{quantity}, 1, |
469 |
'c_budget_id' => 2, |
422 |
"Quantity has been read correctly" |
470 |
'replacementprices' => [ |
423 |
); |
471 |
'0.00', |
424 |
is( |
472 |
], |
425 |
@{$orders}[0]->{budget_id}, $budgetid, |
473 |
'uris' => [ |
426 |
"Budget code has been read correctly" |
474 |
'', |
427 |
); |
475 |
], |
428 |
|
476 |
'c_replacement_price' => '0.00', |
429 |
my $new_item = Koha::Items->find( ${$itemnumbers}[0] ); |
477 |
'public_notes' => [''], |
430 |
|
478 |
'itemcallnumbers' => [ |
431 |
isnt( |
479 |
'', |
432 |
$new_item, undef, |
480 |
], |
433 |
'Item was successfully created' |
481 |
'budget_codes' => [ |
434 |
); |
482 |
'', |
435 |
is( |
483 |
], |
436 |
$new_item->price, '10.00', |
484 |
'nonpublic_notes' => [ |
437 |
'Item values mapped correctly' |
485 |
'', |
438 |
); |
486 |
], |
|
|
487 |
'homebranches' => [], |
488 |
'copynos' => [ |
489 |
'', |
490 |
], |
491 |
'holdingbranches' => [], |
492 |
'ccodes' => [ |
493 |
'', |
494 |
], |
495 |
'locs' => [ |
496 |
'', |
497 |
'' |
498 |
], |
499 |
'itemprices' => [ |
500 |
'10.00', |
501 |
], |
502 |
'c_discount' => '', |
503 |
'c_price' => '0.00', |
504 |
'c_sort2' => '', |
505 |
'c_sort1' => '', |
506 |
'c_quantity' => '1', |
507 |
'itypes' => [], |
508 |
'coded_location_qualifiers' => [], |
509 |
'barcodes' => [], |
510 |
'enumchrons' => [] |
511 |
}; |
512 |
my $itemnumbers = Koha::MarcOrder::add_items_from_import_record( |
513 |
{ |
514 |
record_result => $result->{record_result}, |
515 |
basket_id => $basket->basketno, |
516 |
vendor => $bookseller, |
517 |
budget_id => $budgetid, |
518 |
agent => 'client', |
519 |
client_item_fields => $client_item_fields, |
520 |
} |
521 |
); |
522 |
|
523 |
my $orders = |
524 |
Koha::Acquisition::Orders->search( { biblionumber => $result->{record_result}->{biblionumber} } ) |
525 |
->unblessed; |
526 |
|
527 |
is( |
528 |
@{$orders}[0]->{rrp} + 0, '10', |
529 |
"Price has been read correctly" |
530 |
); |
531 |
|
532 |
my $active_currency = Koha::Acquisition::Currencies->get_active; |
533 |
is( |
534 |
sprintf( "%.6f", @{$orders}[0]->{listprice} + 0 ), sprintf( "%.6f", 10 / $active_currency->rate + 0 ), |
535 |
"Listprice has been created successfully" |
536 |
); |
537 |
is( |
538 |
@{$orders}[0]->{quantity}, 1, |
539 |
"Quantity has been read correctly" |
540 |
); |
541 |
is( |
542 |
@{$orders}[0]->{budget_id}, $budgetid, |
543 |
"Budget code has been read correctly" |
544 |
); |
545 |
|
546 |
my $new_item = Koha::Items->find( ${$itemnumbers}[0] ); |
547 |
|
548 |
isnt( |
549 |
$new_item, undef, |
550 |
'Item was successfully created' |
551 |
); |
552 |
is( |
553 |
$new_item->price, '10.00', |
554 |
'Item value for price mapped correctly' |
555 |
); |
556 |
is( |
557 |
$new_item->homebranch, $branchcode, |
558 |
'Item value for homebranch mapped correctly' |
559 |
); |
560 |
is( |
561 |
$new_item->holdingbranch, $branchcode, |
562 |
'Item value for holdingbranch mapped correctly' |
563 |
); |
564 |
is( |
565 |
$new_item->itype, 'BK', |
566 |
'Item value for itemtype mapped correctly' |
567 |
); |
568 |
}; |
439 |
|
569 |
|
440 |
$schema->storage->txn_rollback; |
570 |
$schema->storage->txn_rollback; |
441 |
}; |
571 |
}; |
442 |
- |
|
|