Browse Source

Bug 13560: Unit tests

To test:
1 - apply all patches
2 - update database
3 - prove t/db_dependent/MarcModificationTemplates.t

Signed-off-by: Victor Grousset <victor.grousset@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
18.11.x
Nick Clemens 7 years ago
parent
commit
c20fbda461
  1. 75
      t/db_dependent/MarcModificationTemplates.t

75
t/db_dependent/MarcModificationTemplates.t

@ -1,6 +1,6 @@
use Modern::Perl;
use Test::More tests => 96;
use Test::More tests => 115;
use Koha::SimpleMARC;
@ -42,9 +42,17 @@ is( AddModificationTemplateAction(
'Copy field 606$a to 607$a unless 606$a matches RegEx m^AJAX'
), 1, "Add third action");
is( AddModificationTemplateAction(
$template_id, 'add_field', 0,
'650', 'a', 'Additional', '', '',
'', '', '',
'unless', '650', 'a', 'exists', '', '',
'Add field 650$aAdditional unless 650$a exists'
), 1, "Add fourth action");
# Getter
my @actions = GetModificationTemplateActions( $template_id );
is( @actions, 3, "3 actions are insered");
is( @actions, 4, "4 actions are insered");
for my $action ( @actions ) {
isnt( GetModificationTemplateAction( $action->{mmta_id} ), undef, "action with id $action->{mmta_id} exists" );
@ -73,7 +81,7 @@ is( $second_action->{conditional_comparison}, 'equals', "test conditional_compar
my $third_action = $actions[2];
is( $third_action->{ordering}, 3, "test ordering for third action" );
is( $third_action->{action}, 'copy_field', "test factionor third action" );
is( $third_action->{action}, 'copy_field', "test action for third action" );
is( $third_action->{from_field}, '606', "test from_field for third action" );
is( $third_action->{from_subfield}, 'a', "test from_subfield for third action" );
is( $third_action->{to_field}, '607', "test to_field for third action" );
@ -84,6 +92,18 @@ is( $third_action->{conditional_subfield}, 'a', "test conditional_subfield for t
is( $third_action->{conditional_comparison}, 'not_equals', "test conditional_comparison for third action" );
is( $third_action->{conditional_value}, '^AJAX', "test conditional_value for third action" );
my $fourth_action = $actions[3];
is( $fourth_action->{ordering}, 4, "test ordering for fourth action" );
is( $fourth_action->{action}, 'add_field', "test action for fourth action" );
is( $fourth_action->{from_field}, '650', "test from_field for fourth action" );
is( $fourth_action->{from_subfield}, 'a', "test from_subfield for fourth action" );
is( $fourth_action->{to_field}, '', "test to_field for fourth action" );
is( $fourth_action->{to_subfield}, '', "test to_subfield for fourth action" );
is( $fourth_action->{conditional}, 'unless', "test conditional for fourth action" );
is( $fourth_action->{conditional_field}, '650', "test conditional_field for fourth action" );
is( $fourth_action->{conditional_subfield}, 'a', "test conditional_subfield for fourth action" );
is( $fourth_action->{conditional_comparison}, 'exists', "test conditional_comparison for fourth action" );
is( $fourth_action->{conditional_value}, '', "test conditional_value for fourth action" );
# Modifications
is( ModModificationTemplateAction(
@ -111,26 +131,29 @@ is( $second_action->{conditional_comparison}, 'equals', "test conditional_compar
is( MoveModificationTemplateAction( $actions[2]->{mmta_id}, 'top' ), '1', 'Move the third action on top' );
is( MoveModificationTemplateAction( $actions[0]->{mmta_id}, 'bottom' ), '1', 'Move the first action on bottom' );
is( GetModificationTemplateAction( $actions[0]->{mmta_id} )->{ordering}, '3', 'First becomes third' );
is( GetModificationTemplateAction( $actions[0]->{mmta_id} )->{ordering}, '4', 'First becomes fourth' );
is( GetModificationTemplateAction( $actions[1]->{mmta_id} )->{ordering}, '2', 'Second stays second' );
is( GetModificationTemplateAction( $actions[2]->{mmta_id} )->{ordering}, '1', 'Third becomes first' );
is( GetModificationTemplateAction( $actions[3]->{mmta_id} )->{ordering}, '3', 'Fourth becomes third' );
is( MoveModificationTemplateAction( $actions[0]->{mmta_id}, 'up' ), '1', 'Move up the first action (was fourth)' );
is( MoveModificationTemplateAction( $actions[0]->{mmta_id}, 'up' ), '1', 'Move up the first action (was third)' );
is( MoveModificationTemplateAction( $actions[0]->{mmta_id}, 'up' ), '1', 'Move up the first action (was second)' );
is( MoveModificationTemplateAction( $actions[2]->{mmta_id}, 'down' ), '1', 'Move down the third action (was second)' );
is( MoveModificationTemplateAction( $actions[2]->{mmta_id}, 'down' ), '1', 'Move down the third action (was first)' );
is( GetModificationTemplateAction( $actions[0]->{mmta_id} )->{ordering}, '1', 'First becomes again first' );
is( GetModificationTemplateAction( $actions[1]->{mmta_id} )->{ordering}, '2', 'Second stays again second' );
is( GetModificationTemplateAction( $actions[2]->{mmta_id} )->{ordering}, '3', 'Third becomes again third' );
is( GetModificationTemplateAction( $actions[1]->{mmta_id} )->{ordering}, '3', 'Second becomes third' );
is( GetModificationTemplateAction( $actions[2]->{mmta_id} )->{ordering}, '2', 'Third becomes second' );
is( GetModificationTemplateAction( $actions[3]->{mmta_id} )->{ordering}, '4', 'Fourth becomes again fourth' );
# Cleaning
is( DelModificationTemplateAction( $actions[0]->{mmta_id} ), 2, "Delete the first action, 2 others are reordered" );
is( DelModificationTemplateAction( $actions[0]->{mmta_id} ), 3, "Delete the first action, 2 others are reordered" );
is( GetModificationTemplateAction( $actions[0]->{mmta_id} ), undef, "first action does not exist anymore" );
is( DelModificationTemplate( $template_id ), 1, "The template has been deleted" );
is( GetModificationTemplateAction( $actions[1]->{mmta_id} ), undef, "second action does not exist anymore" );
is( GetModificationTemplateAction( $actions[2]->{mmta_id} ), undef, "third action does not exist anymore" );
is( GetModificationTemplateAction( $actions[3]->{mmta_id} ), undef, "fourth action does not exist anymore" );
is( GetModificationTemplateActions( $template_id ), 0, "There is no action for deleted template" );
@ -215,8 +238,31 @@ is( AddModificationTemplateAction(
'Update non existent field 999$a with "non existent"'
), 1, 'Add eighth action: update field non existent 999$a with "non existent."');
my $record = new_record();
is( AddModificationTemplateAction(
$template_id, 'update_field', 0,
'999', 'a', 'existent - updated.', '', '',
'', '', '',
'', '', '', '', '', '',
'Update existent field 999$a with "existent - updated."'
), 1, 'Add ninth action: update field non existent 999$a with "existent - updated."');
is( AddModificationTemplateAction(
$template_id, 'add_field', 0,
'999', 'a', 'additional existent.', '', '',
'', '', '',
'', '', '', '', '', '',
'Add new existent field 999$a with "additional existent"'
), 1, 'Add tenth action: add additional field existent 999$a with "additional existent."');
is( AddModificationTemplateAction(
$template_id, 'add_field', 0,
'007', '', 'vxcdq', '', '',
'', '', '',
'', '', '', '', '', '',
'Add new existent field 999$a with "additional existent"'
), 1, 'Add eleventh action: add additional field existent 007');
my $record = new_record();
is( ModifyRecordWithTemplate( $template_id, $record ), undef, "The ModifyRecordWithTemplate returns undef" );
my $expected_record = expected_record_1();
@ -454,7 +500,14 @@ sub expected_record_1 {
),
MARC::Field->new(
999, ' ', ' ',
a => 'non existent.',
a => 'existent - updated.',
),
MARC::Field->new(
999, ' ', ' ',
a => 'additional existent.',
),
MARC::Field->new(
'007', 'vxcdq',
),
);
$record->append_fields(@fields);

Loading…
Cancel
Save