@@ -12,6 +12,39 @@ describe "Check" do
12
12
Check ::Errors .new.is_a?(Hash ).should be_true
13
13
end
14
14
15
+ describe " ValidationError" do
16
+ it " should create Exception taking Errors container" do
17
+ v = Check .new_validation
18
+ v.add_error " my_field" , " Oops"
19
+
20
+ ex = Check ::ValidationError .new v.errors
21
+ ex.should be_a Check ::ValidationError
22
+ ex.should be_a Exception
23
+ ex.errors.should be_a Check ::Errors
24
+ ex.errors.size.should eq 1
25
+ ex.errors[" my_field" ].should eq [" Oops" ]
26
+ ex.message.should eq " Validation error"
27
+ end
28
+
29
+ it " should support custom message, pluralize it if ends with error" do
30
+ v = Check .new_validation
31
+ v.add_error " my_field" , " Oops"
32
+
33
+ ex = Check ::ValidationError .new v.errors
34
+ ex.errors.size.should eq 1
35
+ ex.message.should eq " Validation error"
36
+
37
+ v.add_error " my_field2" , " Oops"
38
+ ex = Check ::ValidationError .new v.errors
39
+ ex.errors.size.should eq 2
40
+ ex.message.should eq " Validation errors"
41
+
42
+ ex = Check ::ValidationError .new v.errors, " Bad validation"
43
+ ex.errors.size.should eq 2
44
+ ex.message.should eq " Bad validation"
45
+ end
46
+ end
47
+
15
48
it " #new_validation" do
16
49
v = Check .new_validation
17
50
v.class.should eq Check ::Validation
@@ -99,6 +132,18 @@ describe "Check" do
99
132
v.valid?.should be_false
100
133
end
101
134
135
+ it " #to_exception" do
136
+ v = Check .new_validation
137
+ v.add_error " my_field" , " Oops"
138
+
139
+ ex = v.to_exception
140
+ ex.should be_a Check ::ValidationError
141
+ ex.should be_a Exception
142
+ ex.errors.should be_a Check ::Errors
143
+ ex.errors.size.should eq 1
144
+ ex.errors[" my_field" ].should eq [" Oops" ]
145
+ end
146
+
102
147
it " #check with string and symbol keys" do
103
148
v = Check .new_validation
104
149
0 commit comments