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;h=6d73b59b3feead8693dafb91ea3c268a5541a1a7;hp=205c330562c69930c74f9add9c340f926bca92c6;hb=02b625cd434826ea7cc013dcd7a2a2eda1eb8476;hpb=f51139753a4da2d24e09894b45bb9efc53b9ef17 diff --git a/t/rest/list.t b/t/rest/list.t index 205c330..6d73b59 100644 --- a/t/rest/list.t +++ b/t/rest/list.t @@ -21,6 +21,7 @@ ok(my $schema = DBICTest->init_schema(), 'got schema'); my $artist_list_url = "$base/api/rest/artist"; my $filtered_artist_list_url = "$base/api/rest/bound_artist"; my $producer_list_url = "$base/api/rest/producer"; +my $cd_list_url = "$base/api/rest/cd"; # test open request { @@ -104,4 +105,20 @@ my $producer_list_url = "$base/api/rest/producer"; is_deeply( $response, { list => \@expected_response, success => 'true' }, 'correct data returned for class with setup_list_method specified' ); } +{ + my $uri = URI->new( $cd_list_url ); + $uri->query_form({ 'search.tracks.position' => '1', 'search.artist.name' => 'Caterwauler McCrae' }); + my $req = GET( $uri, 'Accept' => 'text/x-json' ); + $mech->request($req); + cmp_ok( $mech->status, '==', 200, 'search multiple params request okay' ); + my $response = JSON::Any->Load( $mech->content); + my @expected_response = map { { $_->get_columns } } $schema->resultset('CD')->search({ + 'artist.name' => 'Caterwauler McCrae', + 'tracks.position' => 1, + }, { + join => [qw/ artist tracks /], + })->all; + is_deeply( $response, { list => \@expected_response, success => 'true' }, 'correct data returned for multiple search params' ); +} + done_testing();