1use strict; 2use warnings; 3 4use Test::More tests => 4; 5 6use HTML::FormFu; 7use lib 't/lib'; 8use HTMLFormFu::TestLib; 9 10my $form = HTML::FormFu->new; 11 12$form->load_config_file('t/constraints/required_only_on_reps.yml'); 13 14# Valid 15{ 16 $form->process( 17 { foo_1 => 'a', 18 bar_1 => '', 19 buz_1 => 'g', 20 moo_1 => 'j', 21 foo_2 => '', 22 bar_2 => 'e', 23 buz_2 => '', 24 moo_2 => 'k', 25 foo_3 => '', 26 bar_3 => '', 27 buz_3 => 'i', 28 moo_3 => 'l', 29 count => 3, 30 } ); 31 32 ok( $form->submitted_and_valid ); 33} 34 35# Valid 36{ 37 $form->process( 38 { foo_1 => 'a', 39 bar_1 => 'd', 40 buz_1 => 'g', 41 moo_1 => 'j', 42 foo_2 => 'b', 43 bar_2 => 'e', 44 buz_2 => 'h', 45 moo_2 => 'k', 46 foo_3 => 'c', 47 bar_3 => 'f', 48 buz_3 => 'i', 49 moo_3 => 'l', 50 count => 3, 51 } ); 52 53 ok( $form->submitted_and_valid ); 54} 55 56# Missing - Invalid 57{ 58 $form->process( 59 { foo_1 => '', 60 bar_1 => '', 61 buz_1 => '', 62 moo_1 => '', 63 foo_2 => '', 64 bar_2 => '', 65 buz_2 => '', 66 moo_2 => 'k', 67 foo_3 => '', 68 bar_3 => '', 69 buz_3 => 'i', 70 moo_3 => '', 71 count => 3, 72 } ); 73 74 ok( !$form->submitted_and_valid ); 75 76 is_deeply( 77 [ $form->has_errors ], 78 [ qw/ 79 foo_1 80 buz_1 81 moo_1 82 bar_2 83 moo_3 84 / 85 ] ); 86} 87