remove trailing newlines from error messages
[catagits/Catalyst-Controller-DBIC-API.git] / t / rpc / delete.t
CommitLineData
d2739840 1use 5.6.0;
2
3use strict;
4use warnings;
5
6use lib 't/lib';
7
8my $base = 'http://localhost';
9my $content_type = [ 'Content-Type', 'application/x-www-form-urlencoded' ];
10
11use RestTest;
12use DBICTest;
13use Test::More;
14use Test::WWW::Mechanize::Catalyst 'RestTest';
15use HTTP::Request::Common;
16
17my $mech = Test::WWW::Mechanize::Catalyst->new;
18ok(my $schema = DBICTest->init_schema(), 'got schema');
19
20my $track = $schema->resultset('Track')->first;
21my %original_cols = $track->get_columns;
22
23my $track_delete_url = "$base/api/rpc/track/id/" . $track->id . "/delete";
a1f71064 24my $tracks_delete_url = "$base/api/rpc/track/delete";
d2739840 25
26{
27 my $req = POST( $track_delete_url, {
28
29 });
30 $mech->request($req, $content_type);
31 cmp_ok( $mech->status, '==', 200, 'Attempt to delete track ok' );
32
33 my $deleted_track = $schema->resultset('Track')->find($track->id);
34 is($deleted_track, undef, 'track deleted');
35}
36
37{
38 my $req = POST( $track_delete_url, {
39
40 });
41 $mech->request($req, $content_type);
42 cmp_ok( $mech->status, '==', 400, 'Attempt to delete again caught' );
43}
44
a1f71064 45{
46 my $track_cnt = $schema->resultset('Track')->count;
35331c88 47 my $tracks_rs = $schema->resultset('Track')->search(undef, { select => ['trackid'], as => ['id'], rows => 3 });
a1f71064 48 $tracks_rs->result_class('DBIx::Class::ResultClass::HashRefInflator');
49 my $test_data = JSON::Any->Dump({ list => [$tracks_rs->all] });
50 my $req = POST( $tracks_delete_url, Content => $test_data );
51 $req->content_type('text/x-json');
52 $mech->request($req);
53 cmp_ok( $mech->status, '==', 200, 'Attempt to delete three tracks ok' );
54
55 is($schema->resultset('Track')->count + 3, $track_cnt, 'Three tracks deleted');
56}
57
d2739840 58done_testing();