9 sub mc_diag { diag (@_) if $ENV{DBIC_MULTICREATE_DEBUG} };
13 my $schema = DBICTest->init_schema();
16 * Test a multilevel might-have with a PK == FK in the might_have/has_many table
18 CD -> might have -> Artwork
28 my $someartist = $schema->resultset('Artist')->first;
29 my $cd = $schema->resultset('CD')->create ({
30 artist => $someartist,
31 title => 'Music to code by until the cows come home',
34 artwork_to_artist => [
35 { artist => { name => 'cowboy joe' } },
36 { artist => { name => 'billy the kid' } },
41 isa_ok ($cd, 'DBICTest::CD', 'Main CD object created');
42 is ($cd->title, 'Music to code by until the cows come home', 'Correct CD title');
44 my $art_obj = $cd->artwork;
45 ok ($art_obj->has_column_loaded ('cd_id'), 'PK/FK present on artwork object');
46 is ($art_obj->artists->count, 2, 'Correct artwork creator count via the new object');
48 [ sort $art_obj->artists->get_column ('name')->all ],
49 [ 'billy the kid', 'cowboy joe' ],
50 'Artists named correctly when queried via object',
53 my $artwork = $schema->resultset('Artwork')->search (
54 { 'cd.title' => 'Music to code by until the cows come home' },
57 is ($artwork->artists->count, 2, 'Correct artwork creator count via a new search');
59 [ sort $artwork->artists->get_column ('name')->all ],
60 [ 'billy the kid', 'cowboy joe' ],
61 'Artists named correctly queried via a new search',
63 }, 'multilevel might-have with a PK == FK in the might_have/has_many table ok');