[Bast-commits] r7195 - in DBIx-Class/0.08/branches/prefetch_redux/t: count prefetch

ribasushi at dev.catalyst.perl.org ribasushi at dev.catalyst.perl.org
Tue Aug 4 15:41:15 GMT 2009


Author: ribasushi
Date: 2009-08-04 15:41:14 +0000 (Tue, 04 Aug 2009)
New Revision: 7195

Modified:
   DBIx-Class/0.08/branches/prefetch_redux/t/count/prefetch.t
   DBIx-Class/0.08/branches/prefetch_redux/t/prefetch/grouped.t
Log:
Move around tests a bit

Modified: DBIx-Class/0.08/branches/prefetch_redux/t/count/prefetch.t
===================================================================
--- DBIx-Class/0.08/branches/prefetch_redux/t/count/prefetch.t	2009-08-04 15:31:33 UTC (rev 7194)
+++ DBIx-Class/0.08/branches/prefetch_redux/t/count/prefetch.t	2009-08-04 15:41:14 UTC (rev 7195)
@@ -7,8 +7,6 @@
 use DBICTest;
 use DBIC::SqlMakerTest;
 
-plan tests => 14;
-
 my $schema = DBICTest->init_schema();
 
 # collapsing prefetch
@@ -100,41 +98,4 @@
   );
 }
 
-{
-    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;

Modified: DBIx-Class/0.08/branches/prefetch_redux/t/prefetch/grouped.t
===================================================================
--- DBIx-Class/0.08/branches/prefetch_redux/t/prefetch/grouped.t	2009-08-04 15:31:33 UTC (rev 7194)
+++ DBIx-Class/0.08/branches/prefetch_redux/t/prefetch/grouped.t	2009-08-04 15:41:14 UTC (rev 7195)
@@ -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 @@
   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;




More information about the Bast-commits mailing list