use JSON instead of JSON::Any to get rid of the CPAN Testers failures when only JSON...
[catagits/Catalyst-Controller-DBIC-API.git] / t / rpc / item.t
index 538c379..c84f2e4 100644 (file)
@@ -13,31 +13,45 @@ use URI;
 use Test::More;
 use Test::WWW::Mechanize::Catalyst 'RestTest';
 use HTTP::Request::Common;
-use JSON::Any;
+use JSON;
+
+my $json = JSON->new->utf8;
 
 my $mech = Test::WWW::Mechanize::Catalyst->new;
-ok(my $schema = DBICTest->init_schema(), 'got schema');
+ok( my $schema = DBICTest->init_schema(), 'got schema' );
 
 my $artist_view_url = "$base/api/rpc/artist/id/";
 
 {
     my $id = 1;
-    my $req = GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' );
+    my $req =
+        GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' );
     $mech->request($req);
     cmp_ok( $mech->status, '==', 200, 'open attempt okay' );
-    my %expected_response = $schema->resultset('Artist')->find($id)->get_columns;
-    my $response = JSON::Any->Load( $mech->content);
-    is_deeply( $response, { data => \%expected_response, success => 'true' }, 'correct data returned' );
+    my %expected_response =
+        $schema->resultset('Artist')->find($id)->get_columns;
+    my $response = $json->decode( $mech->content );
+    is_deeply(
+        $response,
+        { data => \%expected_response, success => 'true' },
+        'correct data returned'
+    );
 }
 
 {
     my $id = 5;
-    my $req = GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' );
+    my $req =
+        GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' );
     $mech->request($req);
     cmp_ok( $mech->status, '==', 400, 'open attempt not ok' );
-    my $response = JSON::Any->Load( $mech->content);
-    is($response->{success}, 'false', 'not existing object fetch failed ok');
-    like($response->{messages}->[0], qr/^No object found for id/, 'error message for not existing object fetch ok');
+    my $response = $json->decode( $mech->content );
+    is( $response->{success}, 'false',
+        'not existing object fetch failed ok' );
+    like(
+        $response->{messages}->[0],
+        qr/^No object found for id/,
+        'error message for not existing object fetch ok'
+    );
 }
 
 done_testing();