X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Frest%2Fitem.t;h=01203bd4177c55edb6977dbe06e5680d8386478b;hb=377b8f1ddd8e73373b48beb5bc90fd051d37d0b7;hp=ff9a51b11b571278c1f79993afb94ca186adc2b3;hpb=0b0bf9111127c9fdad1e456169ec4cdd15b160f9;p=catagits%2FCatalyst-Controller-DBIC-API.git diff --git a/t/rest/item.t b/t/rest/item.t index ff9a51b..01203bd 100644 --- a/t/rest/item.t +++ b/t/rest/item.t @@ -1,5 +1,3 @@ -use 5.6.0; - use strict; use warnings; @@ -25,14 +23,17 @@ my $artist_view_url = "$base/api/rest/artist/"; { my $id = 1; my $req = - GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' ); + GET( $artist_view_url . $id, '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->decode( $mech->content ); + #artist does not have use_json_boolean => 1, so true values are stringified to 'true' is_deeply( $response, + + # artist doesn't set use_json_boolean { data => \%expected_response, success => 'true' }, 'correct data returned' ); @@ -41,7 +42,7 @@ my $artist_view_url = "$base/api/rest/artist/"; { my $id = 5; my $req = - GET( $artist_view_url . $id, undef, 'Accept' => 'application/json' ); + GET( $artist_view_url . $id, 'Accept' => 'application/json' ); $mech->request($req); cmp_ok( $mech->status, '==', 400, 'open attempt not ok' ); my $response = $json->decode( $mech->content ); @@ -59,7 +60,7 @@ my $track_view_url = "$base/api/rest/track/"; { my $id = 9; my $req = - GET( $track_view_url . $id, undef, 'Accept' => 'application/json' ); + GET( $track_view_url . $id, 'Accept' => 'application/json' ); $mech->request($req); cmp_ok( $mech->status, '==', 200, 'got track with datetime object okay' ); my %expected_response = @@ -67,9 +68,26 @@ my $track_view_url = "$base/api/rest/track/"; my $response = $json->decode( $mech->content ); is_deeply( $response, - { data => \%expected_response, success => 'true' }, + + # track does set use_json_boolean + { data => \%expected_response, success => JSON::true }, 'correct data returned for track with datetime' ); } +{ + my $req = + GET( $artist_view_url . 'action_with_error', 'Accept' => 'application/json' ); + $mech->request($req); + cmp_ok( $mech->status, '==', 404, 'action returned error 404' ); + my $response = $json->decode( $mech->content ); + is_deeply( + $response, + + # artist doesn't set use_json_boolean + { success => 'false' }, + 'correct data returned' + ); +} + done_testing();