Lines 1-6
Link Here
|
1 |
use Modern::Perl; |
1 |
use Modern::Perl; |
2 |
|
2 |
|
3 |
use Test::More tests => 125; |
3 |
use Test::More tests => 126; |
4 |
|
4 |
|
5 |
use Koha::Database; |
5 |
use Koha::Database; |
6 |
use Koha::SimpleMARC; |
6 |
use Koha::SimpleMARC; |
Lines 415-420
subtest "not_equals" => sub {
Link Here
|
415 |
is_deeply( $record, $expected_record, 'None 650 have been moved, no $650$b exists' ); |
415 |
is_deeply( $record, $expected_record, 'None 650 have been moved, no $650$b exists' ); |
416 |
}; |
416 |
}; |
417 |
|
417 |
|
|
|
418 |
subtest "when conditional field doesn't match the from field" => sub { |
419 |
plan tests => 3; |
420 |
$dbh->do(q|DELETE FROM marc_modification_templates|); |
421 |
my $template_id = AddModificationTemplate("template_name"); |
422 |
AddModificationTemplateAction( |
423 |
$template_id, 'delete_field', 0, |
424 |
'650', '9', '', '', '', |
425 |
'', '', '', |
426 |
'if', '245', 'a', 'equals', 'Bad title', '', |
427 |
'Delete fields 650$9 if 245$a == "Bad title"' |
428 |
); |
429 |
my $record = new_record(); |
430 |
ModifyRecordWithTemplate( $template_id, $record ); |
431 |
my $expected_record = expected_record_3(); |
432 |
is_deeply( $record, $expected_record, '650$9 fields have been deleted when 245$a == "Bad title"' ); |
433 |
|
434 |
$dbh->do(q|DELETE FROM marc_modification_templates|); |
435 |
$template_id = AddModificationTemplate("template_name"); |
436 |
AddModificationTemplateAction( |
437 |
$template_id, 'delete_field', 0, |
438 |
'650', '9', '', '', '', |
439 |
'', '', '', |
440 |
'if', '245', 'a', 'exists', '', '', |
441 |
'Delete fields 650$9 if 245$a exists' |
442 |
); |
443 |
$record = new_record(); |
444 |
ModifyRecordWithTemplate( $template_id, $record ); |
445 |
$expected_record = expected_record_3(); |
446 |
is_deeply( $record, $expected_record, '650$9 fields have been deleted because 245$a exists' ); |
447 |
|
448 |
$dbh->do(q|DELETE FROM marc_modification_templates|); |
449 |
$template_id = AddModificationTemplate("template_name"); |
450 |
AddModificationTemplateAction( |
451 |
$template_id, 'delete_field', 1, |
452 |
'650', '', '', '', '', |
453 |
'', '', '', |
454 |
'if', '245', 'a', 'exists', '', '', |
455 |
'Delete 1st field 650 if 245$a exists' |
456 |
); |
457 |
$record = new_record(); |
458 |
ModifyRecordWithTemplate( $template_id, $record ); |
459 |
$expected_record = expected_record_4(); |
460 |
is_deeply( $record, $expected_record, '1st 650 field has been deleted because 245$a exists' ); |
461 |
}; |
462 |
|
418 |
sub new_record { |
463 |
sub new_record { |
419 |
my $record = MARC::Record->new; |
464 |
my $record = MARC::Record->new; |
420 |
$record->leader('03174nam a2200445 a 4500'); |
465 |
$record->leader('03174nam a2200445 a 4500'); |
Lines 547-552
sub expected_record_2 {
Link Here
|
547 |
return $record; |
592 |
return $record; |
548 |
} |
593 |
} |
549 |
|
594 |
|
|
|
595 |
sub expected_record_3 { |
596 |
my $record = MARC::Record->new; |
597 |
$record->leader('03174nam a2200445 a 4500'); |
598 |
my @fields = ( |
599 |
MARC::Field->new( |
600 |
100, '1', ' ', |
601 |
a => 'Knuth, Donald Ervin', |
602 |
d => '1938', |
603 |
), |
604 |
MARC::Field->new( |
605 |
245, '1', '4', |
606 |
a => 'The art of computer programming', |
607 |
c => 'Donald E. Knuth.', |
608 |
), |
609 |
MARC::Field->new( |
610 |
245, '1', '4', |
611 |
a => 'Bad title', |
612 |
c => 'Donald E. Knuth.', |
613 |
), |
614 |
MARC::Field->new( |
615 |
650, ' ', '0', |
616 |
a => 'Computer programming.', |
617 |
), |
618 |
MARC::Field->new( |
619 |
650, ' ', '0', |
620 |
a => 'Computer programming.', |
621 |
), |
622 |
MARC::Field->new( |
623 |
952, ' ', ' ', |
624 |
p => '3010023917', |
625 |
y => 'BK', |
626 |
c => 'GEN', |
627 |
d => '2001-06-25', |
628 |
), |
629 |
); |
630 |
$record->append_fields(@fields); |
631 |
return $record; |
632 |
} |
633 |
|
634 |
sub expected_record_4 { |
635 |
my $record = MARC::Record->new; |
636 |
$record->leader('03174nam a2200445 a 4500'); |
637 |
my @fields = ( |
638 |
MARC::Field->new( |
639 |
100, '1', ' ', |
640 |
a => 'Knuth, Donald Ervin', |
641 |
d => '1938', |
642 |
), |
643 |
MARC::Field->new( |
644 |
245, '1', '4', |
645 |
a => 'The art of computer programming', |
646 |
c => 'Donald E. Knuth.', |
647 |
), |
648 |
MARC::Field->new( |
649 |
245, '1', '4', |
650 |
a => 'Bad title', |
651 |
c => 'Donald E. Knuth.', |
652 |
), |
653 |
MARC::Field->new( |
654 |
650, ' ', '0', |
655 |
a => 'Computer programming.', |
656 |
9 => '499', |
657 |
), |
658 |
MARC::Field->new( |
659 |
952, ' ', ' ', |
660 |
p => '3010023917', |
661 |
y => 'BK', |
662 |
c => 'GEN', |
663 |
d => '2001-06-25', |
664 |
), |
665 |
); |
666 |
$record->append_fields(@fields); |
667 |
return $record; |
668 |
} |
669 |
|
550 |
# Tests related to use of subfield 0 ($0) |
670 |
# Tests related to use of subfield 0 ($0) |
551 |
|
671 |
|
552 |
sub new_record_0 { |
672 |
sub new_record_0 { |
553 |
- |
|
|