X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Controller-DBIC-API.git;a=blobdiff_plain;f=t%2Frest%2Flist.t;fp=t%2Frest%2Flist.t;h=ab2aa4ec47471064df7dea0daf3bd70f2e7e4a2b;hp=7d8c68f02b33930f957942569fdcea575dcc19b1;hb=11ba2ccc06f22b028f66fdfcad72ce3903345374;hpb=289747d9df08ca203600b181854c9085b1c12e2c diff --git a/t/rest/list.t b/t/rest/list.t index 7d8c68f..ab2aa4e 100644 --- a/t/rest/list.t +++ b/t/rest/list.t @@ -73,7 +73,7 @@ my $track_list_url = "$base/api/rest/track"; { my $uri = URI->new( $artist_list_url ); - $uri->query_form({ 'search.cds.title' => 'Forkful of bees' }); + $uri->query_form({ 'search.cds.title' => 'Forkful of bees' }); my $req = GET( $uri, 'Accept' => 'text/x-json' ); $mech->request($req); cmp_ok( $mech->status, '==', 200, 'search related request okay' ); @@ -136,4 +136,24 @@ my $track_list_url = "$base/api/rest/track"; is_deeply( $response, { list => \@expected_response, success => 'true', totalcount => 15 }, 'correct data returned for static configured paging' ); } +{ + my $uri = URI->new( $artist_list_url ); + $uri->query_form({ 'search.cds.track.title' => 'Suicidal' }); + my $req = GET( $uri, 'Accept' => 'text/x-json' ); + $mech->request($req); + cmp_ok( $mech->status, '==', 400, 'attempt with nonexisting relationship fails' ); + my $response = JSON::Any->Load( $mech->content); + is_deeply( $response->{messages}, ["track is neither a relationship nor a column\n"], 'correct error message returned' ); +} + +{ + my $uri = URI->new( $artist_list_url ); + $uri->query_form({ 'search.cds.tracks.foo' => 'Bar' }); + my $req = GET( $uri, 'Accept' => 'text/x-json' ); + $mech->request($req); + cmp_ok( $mech->status, '==', 400, 'attempt with nonexisting column fails' ); + my $response = JSON::Any->Load( $mech->content); + is_deeply( $response->{messages}, ['a database error has occured.'], 'correct error message returned' ); +} + done_testing();