X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fprefetch%2Fwith_limit.t;h=b8c13a3b8aa6efd16f572d0f68ad53435c7d0920;hb=9f6555d31bc48b6fa3792f74368fc1f17f77ea60;hp=a1c196f2c16b223798cb40e41e1c7b1375c8ff8d;hpb=09707a3100d5eb4b7fefab3ef9f786aada28944f;p=dbsrgits%2FDBIx-Class.git diff --git a/t/prefetch/with_limit.t b/t/prefetch/with_limit.t index a1c196f..b8c13a3 100644 --- a/t/prefetch/with_limit.t +++ b/t/prefetch/with_limit.t @@ -8,25 +8,24 @@ use Test::Exception; use lib qw(t/lib); use DBICTest; -plan tests => 8; - my $schema = DBICTest->init_schema(); my $no_prefetch = $schema->resultset('Artist')->search( - undef, - { rows => 3 } -); - -my $use_prefetch = $schema->resultset('Artist')->search( [ # search deliberately contrived { 'artwork.cd_id' => undef }, { 'tracks.title' => { '!=' => 'blah-blah-1234568' }} ], + { rows => 3, join => { cds => [qw/artwork tracks/] }, + } +); + +my $use_prefetch = $no_prefetch->search( + {}, { + select => ['me.artistid', 'me.name'], + as => ['artistid', 'name'], prefetch => 'cds', - join => { cds => [qw/artwork tracks/] }, - rows => 3, order_by => { -desc => 'name' }, } ); @@ -85,6 +84,10 @@ throws_ok ( ); my $artist = $use_prefetch->search({'cds.title' => $artist_many_cds->cds->first->title })->next; - is($artist->cds->count, 1, "count on search limiting prefetched has_many"); +# try with double limit +my $artist2 = $use_prefetch->search({'cds.title' => { '!=' => $artist_many_cds->cds->first->title } })->slice (0,0)->next; +is($artist2->cds->count, 2, "count on search limiting prefetched has_many"); + +done_testing;