X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Controller-DBIC-API.git;a=blobdiff_plain;f=t%2Frest%2Fdelete.t;h=7ce222f6dc02d829120647bf2393da4b6c496c6e;hp=0021ca5a305ea2e76745a2ef8ed2d394521aea4f;hb=a1f7106409eb2d3c49aa9cb2c631464c14e911c4;hpb=222a4b68511dba345176c7292b7ef62caa41561d diff --git a/t/rest/delete.t b/t/rest/delete.t index 0021ca5..7ce222f 100644 --- a/t/rest/delete.t +++ b/t/rest/delete.t @@ -10,9 +10,10 @@ my $content_type = [ 'Content-Type', 'application/x-www-form-urlencoded' ]; use RestTest; use DBICTest; -use Test::More tests => 4; +use Test::More; use Test::WWW::Mechanize::Catalyst 'RestTest'; -use HTTP::Request::Common; +use HTTP::Request::Common qw/ DELETE /; +use JSON::Any; my $mech = Test::WWW::Mechanize::Catalyst->new; ok(my $schema = DBICTest->init_schema(), 'got schema'); @@ -20,7 +21,8 @@ ok(my $schema = DBICTest->init_schema(), 'got schema'); my $track = $schema->resultset('Track')->first; my %original_cols = $track->get_columns; -my $track_delete_url = "$base/api/rest/track/" . $track->id; +my $track_url = "$base/api/rest/track/"; +my $track_delete_url = $track_url . $track->id; { my $req = HTTP::Request->new( DELETE => $track_delete_url ); @@ -38,3 +40,18 @@ my $track_delete_url = "$base/api/rest/track/" . $track->id; $mech->request($req); cmp_ok( $mech->status, '==', 400, 'Attempt to delete again caught' ); } + +{ + my $track_cnt = $schema->resultset('Track')->count; + my $tracks_rs = $schema->resultset('Track')->search(undef, { select => ['trackid'], as => ['id'], rows=> 3 }); + $tracks_rs->result_class('DBIx::Class::ResultClass::HashRefInflator'); + my $test_data = JSON::Any->Dump({ list => [$tracks_rs->all] }); + my $req = DELETE( $track_url, Content => $test_data ); + $req->content_type('text/x-json'); + $mech->request($req); + cmp_ok( $mech->status, '==', 200, 'Attempt to delete three tracks ok' ); + + is($schema->resultset('Track')->count + 3, $track_cnt, 'Three tracks deleted'); +} + +done_testing();