weak_parameters 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/weak_parameters/string_validator.rb +3 -0
- data/lib/weak_parameters/version.rb +1 -1
- data/spec/requests/recipes_spec.rb +35 -61
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85725f4ac0c2a36ca6158bb56342ef10c559381e
|
4
|
+
data.tar.gz: 22952cd5107d5446762e90d58c9470491278270d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e63d3e62024bed8f9a47a7a9e1aff8cef35b8bdd6e4d7934864256f325bc2bc766747ef373f3aab47356d015d6fec8497a45b16f8cdfe20dedcfc780c6b2f56
|
7
|
+
data.tar.gz: 7aa8fa5a0340426603b0e9e61e676bfd401309aa0b73d2840d56bcdc403d53eb00cbf67f6f4b8bd4e2cc4ff86a836b1e788512eac0728336039d9686c0e733ce
|
@@ -13,133 +13,107 @@ describe "Recipes" do
|
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
16
|
+
shared_examples_for "400" do
|
17
|
+
it "returns 400" do
|
18
|
+
post "/recipes", params
|
19
|
+
response.status.should == 400
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
shared_examples_for "201" do
|
24
|
+
it "creates a new recipe" do
|
25
|
+
post "/recipes", params
|
26
|
+
response.status.should == 201
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
16
30
|
describe "POST /recipes" do
|
17
31
|
context "without required param" do
|
18
32
|
before do
|
19
33
|
params.delete(:name)
|
20
34
|
end
|
35
|
+
include_examples "400"
|
36
|
+
end
|
21
37
|
|
22
|
-
|
23
|
-
|
24
|
-
|
38
|
+
context "with wrong string param" do
|
39
|
+
before do
|
40
|
+
params[:name] = ["x"]
|
25
41
|
end
|
42
|
+
include_examples "400"
|
26
43
|
end
|
27
44
|
|
28
45
|
context "with wrong integer param" do
|
29
46
|
before do
|
30
47
|
params[:type] = "x"
|
31
48
|
end
|
32
|
-
|
33
|
-
it "returns 400" do
|
34
|
-
post "/recipes", params
|
35
|
-
response.status.should == 400
|
36
|
-
end
|
49
|
+
include_examples "400"
|
37
50
|
end
|
38
51
|
|
39
52
|
context "with exceptional interger param" do
|
40
53
|
before do
|
41
54
|
params[:number] = true
|
42
55
|
end
|
43
|
-
|
44
|
-
it "returns 400" do
|
45
|
-
post "/recipes", params
|
46
|
-
response.status.should == 400
|
47
|
-
end
|
56
|
+
include_examples "400"
|
48
57
|
end
|
49
58
|
|
50
59
|
context "with wrong boolean param" do
|
51
60
|
before do
|
52
61
|
params[:flag] = "x"
|
53
62
|
end
|
54
|
-
|
55
|
-
it "returns 400" do
|
56
|
-
post "/recipes", params
|
57
|
-
response.status.should == 400
|
58
|
-
end
|
63
|
+
include_examples "400"
|
59
64
|
end
|
60
65
|
|
61
66
|
context "with wrong array param" do
|
62
67
|
before do
|
63
68
|
params[:tags] = "x"
|
64
69
|
end
|
65
|
-
|
66
|
-
it "returns 400" do
|
67
|
-
post "/recipes", params
|
68
|
-
response.status.should == 400
|
69
|
-
end
|
70
|
+
include_examples "400"
|
70
71
|
end
|
71
72
|
|
72
73
|
context "with wrong hash param" do
|
73
74
|
before do
|
74
75
|
params[:config] = "x"
|
75
76
|
end
|
76
|
-
|
77
|
-
it "returns 400" do
|
78
|
-
post "/recipes", params
|
79
|
-
response.status.should == 400
|
80
|
-
end
|
77
|
+
include_examples "400"
|
81
78
|
end
|
82
79
|
|
83
80
|
context "with wrong float param" do
|
84
81
|
before do
|
85
82
|
params[:rate] = "-x"
|
86
83
|
end
|
87
|
-
|
88
|
-
it "returns 400" do
|
89
|
-
post "/recipes", params
|
90
|
-
response.status.should == 400
|
91
|
-
end
|
84
|
+
include_examples "400"
|
92
85
|
end
|
93
86
|
|
94
87
|
context "with block failure" do
|
95
88
|
before do
|
96
89
|
params[:zip_code] = "123-456"
|
97
90
|
end
|
98
|
-
|
99
|
-
it "returns 400" do
|
100
|
-
post "/recipes", params
|
101
|
-
response.status.should == 400
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
context "without non-required param" do
|
106
|
-
before do
|
107
|
-
params.delete(:type)
|
108
|
-
end
|
109
|
-
|
110
|
-
it "creates a new recipe" do
|
111
|
-
post "/recipes", params
|
112
|
-
response.status.should == 201
|
113
|
-
end
|
91
|
+
include_examples "400"
|
114
92
|
end
|
115
93
|
|
116
94
|
context "with invalid param to :only condition" do
|
117
95
|
before do
|
118
96
|
params[:type] = 4
|
119
97
|
end
|
120
|
-
|
121
|
-
it "returns 400" do
|
122
|
-
post "/recipes", params
|
123
|
-
response.status.should == 400
|
124
|
-
end
|
98
|
+
include_examples "400"
|
125
99
|
end
|
126
100
|
|
127
101
|
context "with invalid param to :except condition" do
|
128
102
|
before do
|
129
103
|
params[:name] = "invalid"
|
130
104
|
end
|
105
|
+
include_examples "400"
|
106
|
+
end
|
131
107
|
|
132
|
-
|
133
|
-
|
134
|
-
|
108
|
+
context "without non-required param" do
|
109
|
+
before do
|
110
|
+
params.delete(:type)
|
135
111
|
end
|
112
|
+
include_examples "201"
|
136
113
|
end
|
137
114
|
|
138
115
|
context "with valid condition", :autodoc do
|
139
|
-
|
140
|
-
post "/recipes", params
|
141
|
-
response.status.should == 201
|
142
|
-
end
|
116
|
+
include_examples "201"
|
143
117
|
end
|
144
118
|
end
|
145
119
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weak_parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryo Nakamura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|