add test for bulk update for existing objects with database error
[catagits/Catalyst-Controller-DBIC-API.git] / t / rest / stashedclass.t
index 84abd26..f28fc41 100644 (file)
@@ -12,7 +12,6 @@ use Test::More;
 use Test::WWW::Mechanize::Catalyst 'RestTest';
 use HTTP::Request::Common;
 use JSON;
-use Data::Dumper;
 
 my $json = JSON->new->utf8;
 
@@ -53,4 +52,32 @@ my $base_url = "$base/api/rest/stashedclass";
     like($response->{messages}[0], qr/current_result_set.*does not pass the type constraint/, 'invalid class');
 }
 
+
+{
+    no warnings;
+    # stash->{class} should always win over $self->class
+    *Catalyst::Controller::DBIC::API::class = sub { 'RestTestDB::CD' };
+
+    my $class = 'RestTestDB::Artist';
+    my $req = GET( "$base_url/$class", {}, 'Accept' => 'text/x-json');
+    $mech->request($req);
+    cmp_ok( $mech->status, '==', '200', "status OK" );
+    my $response = $json->decode( $mech->content );
+    is($response->{success}, 'true', 'success');
+    is(scalar( @{$response->{list}} ), 3, 'three results - artist');
+}
+
+{
+    no warnings;
+    # stash->{class} not present, ->class should be returned
+    *Catalyst::Controller::DBIC::API::class = sub { 'RestTestDB::CD' };
+
+    my $req = GET( "$base_url/noclass", {}, 'Accept' => 'text/x-json');
+    $mech->request($req);
+    cmp_ok( $mech->status, '==', '200', "status OK" );
+    my $response = $json->decode( $mech->content );
+    is($response->{success}, 'true', 'success');
+    is(scalar( @{$response->{list}} ), 6, 'six results - cd');
+}
+
 done_testing();