Lines 1-6
Link Here
|
1 |
use Modern::Perl; |
1 |
use Modern::Perl; |
2 |
|
2 |
|
3 |
use Test::More tests => 115; |
3 |
use Test::More tests => 125; |
4 |
|
4 |
|
5 |
use Koha::Database; |
5 |
use Koha::Database; |
6 |
use Koha::SimpleMARC; |
6 |
use Koha::SimpleMARC; |
Lines 55-61
is( AddModificationTemplateAction(
Link Here
|
55 |
# Getter |
55 |
# Getter |
56 |
|
56 |
|
57 |
my @actions = GetModificationTemplateActions( $template_id ); |
57 |
my @actions = GetModificationTemplateActions( $template_id ); |
58 |
is( @actions, 4, "4 actions are insered"); |
58 |
is( @actions, 4, "4 actions are inserted"); |
59 |
|
59 |
|
60 |
for my $action ( @actions ) { |
60 |
for my $action ( @actions ) { |
61 |
isnt( GetModificationTemplateAction( $action->{mmta_id} ), undef, "action with id $action->{mmta_id} exists" ); |
61 |
isnt( GetModificationTemplateAction( $action->{mmta_id} ), undef, "action with id $action->{mmta_id} exists" ); |
Lines 546-548
sub expected_record_2 {
Link Here
|
546 |
$record->append_fields(@fields); |
546 |
$record->append_fields(@fields); |
547 |
return $record; |
547 |
return $record; |
548 |
} |
548 |
} |
549 |
- |
549 |
|
|
|
550 |
# Tests related to use of subfield 0 ($0) |
551 |
|
552 |
sub new_record_0 { |
553 |
my $record = MARC::Record->new; |
554 |
$record->leader('03174nam a2200445 a 4500'); |
555 |
my @fields = ( |
556 |
MARC::Field->new( |
557 |
100, '1', ' ', |
558 |
0 => '12345', |
559 |
a => 'Knuth, Donald Ervin', |
560 |
d => '1938', |
561 |
), |
562 |
MARC::Field->new( |
563 |
245, '1', '4', |
564 |
0 => '12345', |
565 |
a => 'The art of computer programming', |
566 |
c => 'Donald E. Knuth.', |
567 |
), |
568 |
MARC::Field->new( |
569 |
650, ' ', '0', |
570 |
0 => '42', |
571 |
a => 'Computer programming.', |
572 |
9 => '462', |
573 |
), |
574 |
); |
575 |
$record->append_fields(@fields); |
576 |
return $record; |
577 |
} |
578 |
|
579 |
sub expected_record_0 { |
580 |
my $record = MARC::Record->new; |
581 |
$record->leader('03174nam a2200445 a 4500'); |
582 |
my @fields = ( |
583 |
MARC::Field->new( |
584 |
245, '1', '4', |
585 |
0 => '12345', |
586 |
a => 'The art of computer programming', |
587 |
c => 'Donald E. Knuth.', |
588 |
), |
589 |
MARC::Field->new( |
590 |
650, ' ', '0', |
591 |
0 => '42', |
592 |
a => 'Computer programming.', |
593 |
9 => '462', |
594 |
), |
595 |
MARC::Field->new( |
596 |
600, ' ', ' ', |
597 |
0 => 'TestUpdated', |
598 |
), |
599 |
MARC::Field->new( |
600 |
100, ' ', ' ', |
601 |
0 => 'TestUpdated', |
602 |
), |
603 |
MARC::Field->new( |
604 |
700, '1', '4', |
605 |
0 => '12345', |
606 |
a => 'The art of computer programming', |
607 |
c => 'Donald E. Knuth.', |
608 |
), |
609 |
); |
610 |
$record->append_fields(@fields); |
611 |
return $record; |
612 |
} |
613 |
|
614 |
$record = new_record_0(); |
615 |
is( ModifyRecordWithTemplate( $template_id, $record ), undef, "The ModifyRecordWithTemplate returns undef" ); |
616 |
|
617 |
$template_id = AddModificationTemplate("template_test_subfield_0"); |
618 |
like( $template_id, qr|^\d+$|, "new template returns an id" ); |
619 |
|
620 |
# Delete subfield 100$0 |
621 |
is( AddModificationTemplateAction( |
622 |
$template_id, 'delete_field', 0, |
623 |
'100', '0', '', '', '', |
624 |
'', '', '', |
625 |
'', '', '', '', '', '', |
626 |
'Action 1: Delete subfield 100$0' |
627 |
), 1, 'Action 1: Delete subfield 100$0'); |
628 |
|
629 |
# Add new subfield 100$0 with value "Test" |
630 |
is( AddModificationTemplateAction( |
631 |
$template_id, 'add_field', 0, |
632 |
'100', '0', 'Test', '', '', |
633 |
'', '', '', |
634 |
'', '', '', '', '', '', |
635 |
'Action 2: Add new subfield 100$0 with value "Test"' |
636 |
), 1, 'Action 2: Add new subfield 100$0'); |
637 |
|
638 |
# Update existing or add new subfield 100$0 with value "TestUpdated" |
639 |
is( AddModificationTemplateAction( |
640 |
$template_id, 'update_field', 0, |
641 |
'100', '0', 'TestUpdated', '', '', |
642 |
'', '', '', |
643 |
'', '', '', '', '', '', |
644 |
'Action 3: Update existing or add new subfield 100$0 with value "TestUpdated"' |
645 |
), 1, 'Action 3: Update existing or add new subfield 100$0 with value "TestUpdated"'); |
646 |
|
647 |
# Move subfield 100$0 to 600$0 |
648 |
is( AddModificationTemplateAction( |
649 |
$template_id, 'move_field', 0, |
650 |
'100', '0', '', '600', '0', |
651 |
'', '', '', |
652 |
'', '', '', '', '', '', |
653 |
'Action 4: Move subfield 100$0 to 600$0' |
654 |
), 1, 'Action 4: Move subfield 100$0 to 600$0'); |
655 |
|
656 |
# Copy subfield 600$0 to 100$0 |
657 |
is( AddModificationTemplateAction( |
658 |
$template_id, 'copy_field', 0, |
659 |
'600', '0', '', '100', '0', |
660 |
'', '', '', |
661 |
'', '', '', '', '', '', |
662 |
'Action 5: Copy subfield 600$0 to 100$0' |
663 |
), 1, 'Action 5: Copy subfield 600$0 to 100$0'); |
664 |
|
665 |
# Copy and replace subfield 245$0 to 700$0 |
666 |
is( AddModificationTemplateAction( |
667 |
$template_id, 'copy_and_replace_field', 0, |
668 |
'245', '0', '', '700', '0', |
669 |
'', '', '', |
670 |
'', '', '', '', '', '', |
671 |
'Action 6: Copy and replace subfield 245$0 to 700$0' |
672 |
), 1, 'Action 6: Copy and replace subfield 245$0 to 700$0'); |
673 |
|
674 |
my @actions_0 = GetModificationTemplateActions( $template_id ); |
675 |
is( @actions_0, 6, "6 actions are inserted"); |
676 |
|
677 |
ModifyRecordWithTemplate( $template_id, $record ); |
678 |
my $expected_record_0 = expected_record_0(); |
679 |
is_deeply( $record, $expected_record_0, '100$0 has been deleted, added back, updated, moved to 600$0, and copied back to 100$0; finally, 245$0 has been copied and replaced to 700$0' ); |