From: Peter Rabbitson Date: Tue, 4 Aug 2009 15:41:14 +0000 (+0000) Subject: Move around tests a bit X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6841b05987991821762189d7fe0d92f2e4789c70;p=dbsrgits%2FDBIx-Class-Historic.git Move around tests a bit --- diff --git a/t/count/prefetch.t b/t/count/prefetch.t index 925be3d..8012e10 100644 --- a/t/count/prefetch.t +++ b/t/count/prefetch.t @@ -7,8 +7,6 @@ use Test::More; use DBICTest; use DBIC::SqlMakerTest; -plan tests => 14; - my $schema = DBICTest->init_schema(); # collapsing prefetch @@ -100,41 +98,4 @@ my $schema = DBICTest->init_schema(); ); } -{ - my $rs = $schema->resultset("Artwork")->search(undef, {distinct => 1}) - ->search_related('artwork_to_artist')->search_related('artist', - undef, - { prefetch => q(cds) }, - ); - is($rs->all, 0, 'failure without WHERE'); - - $rs = $schema->resultset("Artwork")->search(undef, {distinct => 1}) - ->search_related('artwork_to_artist')->search_related('artist', - { 'cds.title' => 'foo' }, # this line has changed - { prefetch => q(cds) }, - ); - is($rs->all, 0, 'success with WHERE'); - - - # different case - $rs = $schema->resultset("Artist")->search(undef)#, {distinct => 1}) - ->search_related('cds')->search_related('genre', - { 'genre.name' => 'foo' }, - { prefetch => q(cds) }, - ); - is($rs->all, 0, 'success without distinct'); - - $rs = $schema->resultset("Artist")->search(undef, {distinct => 1}) - ->search_related('cds')->search_related('genre', - { 'genre.name' => 'foo' }, - #{ prefetch => q(cds) }, - ); - is($rs->all, 0, 'success without prefetch'); - - $rs = $schema->resultset("Artist")->search(undef, {distinct => 1}) - ->search_related('cds')->search_related('genre', - { 'genre.name' => 'foo' }, - { prefetch => q(cds) }, - ); - is($rs->all, 0, 'failure with distinct'); -} +done_testing; diff --git a/t/prefetch/grouped.t b/t/prefetch/grouped.t index 1cb670c..b1718bf 100644 --- a/t/prefetch/grouped.t +++ b/t/prefetch/grouped.t @@ -1,13 +1,13 @@ use strict; use warnings; + use Test::More; +use Test::Exception; use lib qw(t/lib); use DBICTest; use DBIC::SqlMakerTest; -plan 'no_plan'; - my $schema = DBICTest->init_schema(); my $sdebug = $schema->storage->debug; @@ -232,3 +232,43 @@ for ($cd_rs->all) { is ($rs->all, 5, 'Correct number of CD objects'); is ($rs->count, 5, 'Correct count of CDs'); } + +lives_ok (sub { + my $rs = $schema->resultset("Artwork")->search(undef, {distinct => 1}) + ->search_related('artwork_to_artist')->search_related('artist', + undef, + { prefetch => q(cds) }, + ); + is($rs->all, 0, 'prefetch without WHERE'); + + $rs = $schema->resultset("Artwork")->search(undef, {distinct => 1}) + ->search_related('artwork_to_artist')->search_related('artist', + { 'cds.title' => 'foo' }, + { prefetch => q(cds) }, + ); + is($rs->all, 0, 'prefetch with WHERE'); + + + # different case + $rs = $schema->resultset("Artist")->search(undef) + ->search_related('cds')->search_related('genre', + { 'genre.name' => 'foo' }, + { prefetch => q(cds) }, + ); + is($rs->all, 0, 'prefetch without distinct'); + + $rs = $schema->resultset("Artist")->search(undef, {distinct => 1}) + ->search_related('cds')->search_related('genre', + { 'genre.name' => 'foo' }, + ); + is($rs->all, 0, 'distinct without prefetch'); + + $rs = $schema->resultset("Artist")->search(undef, {distinct => 1}) + ->search_related('cds')->search_related('genre', + { 'genre.name' => 'foo' }, + { prefetch => q(cds) }, + ); + is($rs->all, 0, 'prefetch with distinct'); +}, 'distinct generally works with prefetch'); + +done_testing;