9 my $schema = DBICTest->init_schema();
10 my $rs = $schema->resultset('CD');
13 dies_ok { $row->has_relationship_loaded() }
14 'has_relationship_loaded needs a relationship name';
16 ok !$row->has_relationship_loaded($_), "vanilla row has no loaded relationship '$_'"
17 for $row->result_source->relationships;
19 # Prefetch of single relationship
21 my $prefetched = $rs->search_rs(undef, { prefetch => 'artist' })->first;
22 ok $prefetched->has_relationship_loaded('artist'), 'single prefetch detected by has_relationship_loaded';
25 # Prefetch of multiple relationships
27 my $prefetched = $rs->search_rs(undef, { prefetch => ['artist', 'tracks'] })->first;
28 ok $prefetched->has_relationship_loaded('artist'), 'first prefetch detected by has_relationship_loaded';
29 ok $prefetched->has_relationship_loaded('tracks'), 'second prefetch detected by has_relationship_loaded';
32 # Prefetch of nested relationships
34 my $prefetched = $rs->search_rs(undef, { prefetch => {'artist' => 'artwork_to_artist'} })->first;
35 ok $prefetched->has_relationship_loaded('artist'), 'direct prefetch detected by has_relationship_loaded';
36 ok $prefetched->artist->has_relationship_loaded('artwork_to_artist'), 'nested prefetch detected by has_relationship_loaded';