diff options
Diffstat (limited to '')
-rw-r--r-- | t/002_index_route.t | 12 | ||||
-rw-r--r-- | t/003_hook_route.t | 43 | ||||
-rw-r--r-- | t/004_project.t | 16 |
3 files changed, 67 insertions, 4 deletions
diff --git a/t/002_index_route.t b/t/002_index_route.t index d2ff83e..88b1d05 100644 --- a/t/002_index_route.t +++ b/t/002_index_route.t @@ -1,11 +1,15 @@ -use Test::More tests => 3; +use Test::More tests => 4; use strict; use warnings; # the order is important use jitterbug; use Dancer::Test; +use Dancer::Config qw/setting/; -route_exists [GET => '/'], 'a route handler is defined for /'; -response_status_is ['GET' => '/'], 200, 'response status is 200 for /'; -response_content_like [GET => '/'], qr/Dashboard/, 'content looks OK for /'; +setting jitterbug => {namespace => 'jitterbug_test'}; + +route_exists [ GET => '/' ], 'a route handler is defined for /'; +response_status_is [ GET => '/' ], 200, 'response status is 200 for /'; +response_content_like [ GET => '/' ], qr/Dashboard/, 'content looks OK for /'; +response_content_like [ GET => '/' ], qr/Repositories \(0\)/, 'no repositories'; diff --git a/t/003_hook_route.t b/t/003_hook_route.t new file mode 100644 index 0000000..8d9a4cf --- /dev/null +++ b/t/003_hook_route.t @@ -0,0 +1,43 @@ +use Test::More tests => 4; +use strict; +use warnings; + +use jitterbug; +use JSON; +use YAML qw/LoadFile/; +use Dancer::Test; +use Dancer::Config qw/setting/; + +my $content = LoadFile('t/data/test.yaml'); + +setting jitterbug => { namespace => 'jitterbug_test' }; + +route_exists [ POST => '/hook/' ], 'a route handle is defined for /'; + +my $response; + +{ + $response = dancer_response( POST => '/hook', ); + is $response->{status}, 200, '200 with empty post'; +} + +{ + my $payload = "payload=" . JSON::encode_json($content); + open my $in, '<', \$payload; + + $ENV{'CONTENT_LENGTH'} = length($payload); + $ENV{'CONTENT_TYPE'} = 'application/x-www-form-urlencoded'; + $ENV{'psgi.input'} = $in; + + $response = dancer_response( + POST => '/hook/', + { + headers => [ 'Content-Length' => length($payload) ], + body => $payload + } + ); + + is $response->{status}, 200; + is_deeply JSON::decode_json( $response->{content} ), + { updated => 'Dancer' }; +} diff --git a/t/004_project.t b/t/004_project.t new file mode 100644 index 0000000..ff0b226 --- /dev/null +++ b/t/004_project.t @@ -0,0 +1,16 @@ +use Test::More tests => 1; +use strict; +use warnings; + +use jitterbug; +use Dancer::Test; +use Dancer::Config qw/setting/; + +setting jitterbug => {namespace => 'jitterbug_test'}; + +my $response; + +{ + $response = dancer_response(GET => '/project/Dancer'); + is $response->{status}, 200; +} |