From fed20335a49cdd1138562c371d16c0130fbcabbe Mon Sep 17 00:00:00 2001 From: Lari Taskula Date: Wed, 29 Apr 2026 13:54:36 +0300 Subject: [PATCH] Bug 28915: Add test for AddModificationTemplateAction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To test: 1. prove t/db_dependent/MarcModificationTemplates.t Observe test failing with the following error t/db_dependent/MarcModificationTemplates.t .. 1/135 Control fields (generally, just tags below 010) do not have subfields, use data() at /home/koha/Koha/Koha/SimpleMARC.pm line 490. Signed-off-by: Anneli Österman Signed-off-by: Andrew Fuerste Henry Signed-off-by: Pedro Amorim --- t/db_dependent/MarcModificationTemplates.t | 39 +++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/MarcModificationTemplates.t b/t/db_dependent/MarcModificationTemplates.t index ea69f1d282..4930738ba1 100755 --- a/t/db_dependent/MarcModificationTemplates.t +++ b/t/db_dependent/MarcModificationTemplates.t @@ -3,7 +3,7 @@ use Modern::Perl; use Test::NoWarnings; -use Test::More tests => 134; +use Test::More tests => 135; use Koha::Database; use Koha::SimpleMARC; @@ -326,6 +326,18 @@ is( 'Add eleventh action: add additional field existent 007' ); +is( + AddModificationTemplateAction( + $template_id, 'update_field', 0, + '008', '35', 'eng', '', '', + '', '', '', + 'if', '041', 'a', 'equals', '^eng$', '1', + 'Update existent field 008$35 with "eng"' + ), + 1, + 'Add twelfth action: update field 008 character position 35-37 with "eng" if 041$a =~ /^eng$/' +); + my $record = new_record(); is( ModifyRecordWithTemplate( $template_id, $record ), undef, "The ModifyRecordWithTemplate returns undef" ); @@ -586,6 +598,11 @@ sub new_record { my $record = MARC::Record->new; $record->leader('03174nam a2200445 a 4500'); my @fields = ( + MARC::Field->new( '008', '231124s2023 en |||| |0| 0||||| ' ), + MARC::Field->new( + '041', ' ', ' ', + a => 'eng', + ), MARC::Field->new( 100, '1', ' ', a => 'Knuth, Donald Ervin', @@ -630,6 +647,11 @@ sub expected_record_1 { MARC::Field->new( '007', 'vxcdq', ), + MARC::Field->new( '008', '231124s2023 en |||| |0| 0|eng| ' ), + MARC::Field->new( + '041', ' ', ' ', + a => 'eng', + ), MARC::Field->new( 100, '1', ' ', a => 'Knuth, Donald Ervin', @@ -677,6 +699,11 @@ sub expected_record_2 { my $record = MARC::Record->new; $record->leader('03174nam a2200445 a 4500'); my @fields = ( + MARC::Field->new( '008', '231124s2023 en |||| |0| 0||||| ' ), + MARC::Field->new( + '041', ' ', ' ', + a => 'eng', + ), MARC::Field->new( 100, '1', ' ', a => 'Knuth, Donald Ervin', @@ -718,6 +745,11 @@ sub expected_record_3 { my $record = MARC::Record->new; $record->leader('03174nam a2200445 a 4500'); my @fields = ( + MARC::Field->new( '008', '231124s2023 en |||| |0| 0||||| ' ), + MARC::Field->new( + '041', ' ', ' ', + a => 'eng', + ), MARC::Field->new( 100, '1', ' ', a => 'Knuth, Donald Ervin', @@ -757,6 +789,11 @@ sub expected_record_4 { my $record = MARC::Record->new; $record->leader('03174nam a2200445 a 4500'); my @fields = ( + MARC::Field->new( '008', '231124s2023 en |||| |0| 0||||| ' ), + MARC::Field->new( + '041', ' ', ' ', + a => 'eng', + ), MARC::Field->new( 100, '1', ' ', a => 'Knuth, Donald Ervin',