File: has_many_repeatable_many_new.t

package info (click to toggle)
libhtml-formfu-model-dbic-perl 0.06000-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,252 kB
  • ctags: 147
  • sloc: perl: 2,112; makefile: 2
file content (50 lines) | stat: -rw-r--r-- 1,081 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
use strict;
use warnings;
use Test::More tests => 7;

use HTML::FormFu;
use lib qw(t/lib lib);
use DBICTestLib 'new_schema';
use MySchema;

my $form = HTML::FormFu->new;

$form->load_config_file('t/update/has_many_repeatable_many_new.yml');

my $schema     = new_schema();
my $user_rs    = $schema->resultset('User');
my $address_rs = $schema->resultset('Address');

{
	$form->process(
		{
			'id'                  => '',
			'name'                => 'new nick',
			'master'              => 1,
			'count'               => 2,
			'addresses_1.id'      => '',
			'addresses_1.address' => 'new home',
			'addresses_2.id'      => '',
			'addresses_2.address' => 'new office',
		}
	);
    
	ok( $form->submitted_and_valid );
	
    my $row = $user_rs->new( {} );
	
    $form->model('DBIC')->update($row);
	
    my $user = $user_rs->find(1);
	
    is( $user->name, 'new nick' );
	
    my @add = $user->addresses->all;
	
    is( scalar @add,      2 );
	
    is( $add[0]->id,      1 );
	is( $add[0]->address, 'new home' );
	is( $add[1]->id,      2 );
	is( $add[1]->address, 'new office' );
}