From: Alexander Hartmaier Date: Thu, 18 Jun 2009 10:30:01 +0000 (+0000) Subject: added test for nested has_many prefetch without entries X-Git-Tag: v0.08108~80 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0f2aa8f272df7753ada0601e0d4b00a712d86a2a;p=dbsrgits%2FDBIx-Class.git added test for nested has_many prefetch without entries --- diff --git a/t/inflate/hri.t b/t/inflate/hri.t index 3532900..2bbaae8 100644 --- a/t/inflate/hri.t +++ b/t/inflate/hri.t @@ -6,7 +6,6 @@ use lib qw(t/lib); use DBICTest; my $schema = DBICTest->init_schema(); - # Under some versions of SQLite if the $rs is left hanging around it will lock # So we create a scope here cos I'm lazy { @@ -124,3 +123,16 @@ $rs_hashrefinf = $schema->resultset ('Artist')->search ({ 'me.artistid' => 1}, { }); $rs_hashrefinf->result_class('DBIx::Class::ResultClass::HashRefInflator'); is_deeply [$rs_hashrefinf->all], \@hashrefinf, 'Check query using extended columns syntax'; + +# check nested prefetching of has_many relationships which return nothing +my $artist = $schema->resultset ('Artist')->create ({ name => 'unsuccessful artist without CDs'}); +my $rs_artists = $schema->resultset ('Artist')->search ({ 'me.artistid' => $artist->id}, { + prefetch => { cds => 'tracks' }, +}); +$rs_artists->result_class('DBIx::Class::ResultClass::HashRefInflator'); +my @artists_ok = ({ + artistid => $artist->id, + name => "unsuccessful artist without CDs", + cds => [], +}); +is_deeply [$rs_artists->all], \@artists_ok, 'nested has_many prefetch without entries';