deprecated add_row_info and added replacement method build_metadata
[dbsrgits/DBIx-Class-ResultSet-WithMetaData.git] / t / custom_methods.t
index 1ece36a..9db7886 100644 (file)
@@ -1,6 +1,6 @@
 #!perl
 
-use Test::More tests => 2;
+use Test::More;
 use lib qw(t/lib);
 use DBICTest;
 use Data::Dumper;
@@ -9,8 +9,7 @@ use Data::Dumper;
 ok(my $schema = DBICTest->init_schema(), 'got schema');
 
 {
-       my $artist_rs = $schema->resultset('Artist')->order_by(col => 'artistid')->display();
-       warn Dumper($artist_rs);
+       my $artist_rs = $schema->resultset('Artist')->search({}, { order_by => 'artistid' })->display();
        is_deeply($artist_rs, [
                {
                        'artistid' => '1',
@@ -28,7 +27,7 @@ ok(my $schema = DBICTest->init_schema(), 'got schema');
 }
 
 {
-       my $artists = $schema->resultset('Artist')->order_by(col => 'artistid')->with_substr->display();
+       my $artists = $schema->resultset('Artist')->search({}, { order_by => 'artistid' })->with_substr->display();
        is_deeply($artists, [
                {
                        'artistid' => '1',
@@ -48,5 +47,56 @@ ok(my $schema = DBICTest->init_schema(), 'got schema');
        ], 'display with substring okay');
 }
 
+# {
+#      my $artists = $schema->resultset('Artist')->search({}, { order_by => 'artistid' })->with_substr_old->display();
+#      is_deeply($artists, [
+#              {
+#                      'artistid' => '1',
+#                      'name' => 'Caterwauler McCrae',
+#                      'substr' => 'Cat'
+#              },
+#              {
+#                      'artistid' => '2',
+#                      'name' => 'Random Boy Band',
+#                      'substr' => 'Ran'
+#              },
+#              {
+#                      'artistid' => '3',
+#                      'name' => 'We Are Goth',
+#                      'substr' => 'We '
+#              }
+#      ], 'display with substring okay');
+# }
 
+{
+       my $artists = $schema->resultset('Artist')->search({}, { order_by => 'artistid' })->with_substr->search({}, { prefetch => 'cds', rows => 1 })->display();
+       is_deeply($artists, [
+      { 
+        'artistid' => 1,
+        'cds' => [ 
+          { 
+            'cdid' => 3,
+            'artist' => 1,
+            'title' => 'Caterwaulin\' Blues',
+            'year' => '1997'
+          },
+          { 
+            'cdid' => 1,
+            'artist' => 1,
+            'title' => 'Spoonful of bees',
+            'year' => '1999'
+          },
+          { 
+            'cdid' => 2,
+            'artist' => 1,
+            'title' => 'Forkful of bees',
+            'year' => '2001'
+          }
+        ],
+        'name' => 'Caterwauler McCrae',
+        'substr' => 'Cat'
+      }
+       ], 'substring before prefetch okay');
+}
 
+done_testing();