Commit patch from Fabien Wernli
[catagits/Catalyst-Action-REST.git] / t / lib / Test / Catalyst / Action / REST / Controller / REST.pm
1 package Test::Catalyst::Action::REST::Controller::REST;
2
3 use Moose;
4 use namespace::autoclean;
5
6 BEGIN { extends 'Catalyst::Controller::REST' }
7
8 sub test : Local {
9     my ( $self, $c ) = @_;
10     $self->status_ok( $c,
11         entity => { test => 'worked', data => $c->req->data } );
12 }
13
14 sub test_status_created : Local {
15     my ( $self, $c ) = @_;
16     $self->status_created(
17         $c,
18         location => '/rest',
19         entity   => { status => 'created' }
20     );
21 }
22
23 sub test_status_multiple_choices : Local {
24     my ( $self, $c ) = @_;
25     $self->status_multiple_choices(
26         $c,
27         location => '/rest/choice1',
28         entity   => { choices => [qw(/rest/choice1 /rest/choice2)] }
29     );
30 }
31
32 sub test_status_accepted : Local {
33     my ( $self, $c ) = @_;
34     $self->status_accepted( $c, entity => { status => "queued", } );
35 }
36
37 sub test_status_no_content : Local {
38     my ( $self, $c ) = @_;
39     $self->status_no_content($c);
40 }
41
42 sub test_status_bad_request : Local {
43     my ( $self, $c ) = @_;
44     $self->status_bad_request( $c,
45         message => "Cannot do what you have asked!", );
46 }
47
48 sub test_status_not_found : Local {
49     my ( $self, $c ) = @_;
50     $self->status_not_found( $c,
51         message => "Cannot find what you were looking for!", );
52 }
53
54 sub test_status_gone : Local {
55     my ( $self, $c ) = @_;
56     $self->status_gone( $c,
57         message => "Document have been deleted by foo", );
58 }
59
60 1;