sub mc_diag { diag (@_) if $ENV{DBIC_MULTICREATE_DEBUG} };
-plan tests => 30;
-
my $schema = DBICTest->init_schema();
mc_diag (<<'DG');
}, "multilevel $type with a PK == FK in the $type/has_many table ok");
}
-
-mc_diag (<<'DG');
-* Try a diamond multicreate
-
-Artist -> has_many -> Artwork_to_Artist -> belongs_to
- /
- belongs_to <- CD <- belongs_to <- Artwork <-/
- \
- \-> Artist2
-
-DG
-
-lives_ok (sub {
- $schema->resultset ('Artist')->create ({
- name => 'The wooled wolf',
- artwork_to_artist => [{
- artwork => {
- cd => {
- title => 'Wool explosive',
- year => 1999,
- artist => { name => 'The black exploding sheep' },
- }
- }
- }],
- });
-
- my $art2 = $schema->resultset ('Artist')->find ({ name => 'The black exploding sheep' });
- ok ($art2, 'Second artist exists');
-
- my $cd = $art2->cds->single;
- is ($cd->title, 'Wool explosive', 'correctly created CD');
-
- is_deeply (
- [ $cd->artwork->artists->get_column ('name')->all ],
- [ 'The wooled wolf' ],
- 'Artist correctly attached to artwork',
- );
-
-}, 'Diamond chain creation ok');
-
+done_testing;