[libdancer-plugin-rest-perl] 02/05: tests for resource params and prepare_serializer_for_format
Jonas Smedegaard
dr at jones.dk
Wed Jul 2 11:45:13 UTC 2014
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag v0.11
in repository libdancer-plugin-rest-perl.
commit 2351618c5e071d1ddee780842cec6a1b55829fd7
Author: Breno G. de Oliveira <garu at cpan.org>
Date: Tue Mar 25 02:01:43 2014 -0300
tests for resource params and prepare_serializer_for_format
---
t/05_serializer_and_resource.t | 49 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/t/05_serializer_and_resource.t b/t/05_serializer_and_resource.t
new file mode 100644
index 0000000..fdfee4a
--- /dev/null
+++ b/t/05_serializer_and_resource.t
@@ -0,0 +1,49 @@
+use strict;
+use warnings;
+use Dancer::ModuleLoader;
+use Test::More import => ['!pass'];
+
+# Dancer::Test had a bug in version previous 1.3059_01 that prevent this test
+# from running correctly.
+my $dancer_version = eval "\$Dancer::VERSION";
+$dancer_version =~ s/_//g;
+plan skip_all => "Dancer 1.3059_01 is needed for this test (you have $dancer_version)"
+ if $dancer_version < 1.305901;
+
+{
+ package Webservice;
+ use Dancer;
+ use Dancer::Plugin::REST;
+
+ setting environment => 'testing';
+ prepare_serializer_for_format;
+ resource user =>
+ get => sub { [ id => params->{id}, format => params->{format} ] },
+ delete => sub { [ id => params->{id}, format => params->{format} ] },
+ create => sub { [ user => params->{user}, format => params->{format} ] },
+ update => sub { [ user => params->{user}, format => params->{format} ] };
+}
+
+use Dancer::Test;
+plan tests => 4;
+
+my $r = dancer_response GET => '/user/42.json';
+
+is $r->{content}, '["id","42","format","json"]'
+ => "'id' and 'format' params are properly set for resource during GET";
+
+$r = dancer_response POST => '/user.json', { params => { user => 'test' } };
+
+is $r->{content}, '["user","test","format","json"]'
+ => "'user' and 'format' params properly set for resource during POST";
+
+$r = dancer_response PUT => '/user/1.json', { params => { user => 'anothertest' } };
+
+is $r->{content}, '["user","anothertest","format","json"]'
+ => "'user' and 'format' params properly set for resource during PUT";
+
+$r = dancer_response DELETE => '/user/6.json';
+
+is $r->{content}, '["id","6","format","json"]'
+ => "'id' and 'format' params properly set for resource during DELETE";
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdancer-plugin-rest-perl.git
More information about the Pkg-perl-cvs-commits
mailing list