@@ -24,18 +24,38 @@ module Apipie::Validator
24
24
end
25
25
26
26
context "with a constraint on items type" do
27
- let ( :validator ) { ArrayValidator . new ( param_desc , Array , :of => String ) }
27
+ let ( :validator ) { ArrayValidator . new ( param_desc , Array , :of => type ) }
28
28
29
- it "accepts array of specified type" do
30
- expect ( validator . validate ( [ 'string1' , 'string2' ] ) ) . to eq ( true )
31
- end
29
+ context "String" do
30
+ let ( :type ) { String }
32
31
33
- it "accepts empty array" do
34
- expect ( validator . validate ( [ ] ) ) . to eq ( true )
32
+ it "accepts array of specified type" do
33
+ expect ( validator . validate ( [ 'string1' , 'string2' ] ) ) . to eq ( true )
34
+ end
35
+
36
+ it "accepts empty array" do
37
+ expect ( validator . validate ( [ ] ) ) . to eq ( true )
38
+ end
39
+
40
+ it "does not accepts array with other types" do
41
+ expect ( validator . validate ( [ 'string1' , true ] ) ) . to eq ( false )
42
+ end
35
43
end
36
44
37
- it "does not accepts array with other types" do
38
- expect ( validator . validate ( [ 'string1' , true ] ) ) . to eq ( false )
45
+ context ":number" do
46
+ let ( :type ) { :decimal }
47
+
48
+ it "accepts array of specified type" do
49
+ expect ( validator . validate ( [ 12 , '14' ] ) ) . to eq ( true )
50
+ end
51
+
52
+ it "accepts empty array" do
53
+ expect ( validator . validate ( [ ] ) ) . to eq ( true )
54
+ end
55
+
56
+ it "does not accepts array with other types" do
57
+ expect ( validator . validate ( [ 12 , 'potato' ] ) ) . to eq ( false )
58
+ end
39
59
end
40
60
end
41
61
0 commit comments