1
1
package play .data .validation ;
2
2
3
3
import org .junit .Test ;
4
- import play .i18n .MessagesBuilder ;
5
4
5
+ import play .i18n .MessagesBuilder ;
6
6
import static org .fest .assertions .Assertions .assertThat ;
7
+ import static org .junit .Assert .assertEquals ;
7
8
8
9
public class ValidationTest {
9
10
10
11
@ Test
11
12
public void verifyError () {
12
-
13
13
new MessagesBuilder ().build ();
14
14
15
15
Validation .current .set (new Validation ());
@@ -33,5 +33,157 @@ public void verifyError() {
33
33
assertThat (Validation .errors (field )).containsOnly (Validation .error (field ));
34
34
35
35
}
36
+
37
+ @ Test
38
+ public void addErrorTest (){
39
+ new MessagesBuilder ().build ();
40
+
41
+ Validation .current .set (new Validation ());
42
+
43
+ final String field = "f1" ;
44
+ final String field2 = "f1.element" ;
45
+
46
+ final String errorMsg = "My errorMessage" ;
47
+
48
+ Validation .addError (field , errorMsg );
49
+ Validation .addError (field , errorMsg );
50
+
51
+ Validation .addError (field2 , errorMsg );
52
+
53
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsg );
54
+
55
+ // Test avoid insert duplicate message key
56
+ assertEquals (2 , Validation .errors ().size ());
57
+
58
+ assertEquals (1 , Validation .errors (field ).size ());
59
+ assertEquals (1 , Validation .errors (field2 ).size ());
60
+
61
+ Validation .clear ();
62
+
63
+ // Test clear empty the lsit
64
+ assertEquals (0 , Validation .errors ().size ());
65
+ assertEquals (0 , Validation .errors (field ).size ());
66
+ assertEquals (0 , Validation .errors (field2 ).size ());
67
+
68
+ final String errorMsgWithParam = "My errorMessage: %2$s" ;
69
+
70
+ Validation .addError (field , errorMsgWithParam , "param1" );
71
+ Validation .addError (field , errorMsgWithParam ,"param2" );
72
+
73
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsgWithParam );
74
+
75
+ // Test avoid insert duplicate message key
76
+ assertEquals (1 , Validation .errors ().size ());
77
+
78
+ assertEquals (1 , Validation .errors (field ).size ());
79
+
80
+ assertEquals ("My errorMessage: param1" , Validation .error (field ).message ());
81
+ }
82
+
83
+ @ Test
84
+ public void removeErrorTest (){
85
+ new MessagesBuilder ().build ();
86
+
87
+ Validation .current .set (new Validation ());
88
+
89
+ final String field = "f1" ;
90
+ final String field2 = "f1.element" ;
91
+
92
+ final String errorMsg = "My errorMessage" ;
93
+ final String errorMsg2 = "My errorMessage2" ;
94
+ Validation .addError (field , errorMsg );
95
+ Validation .addError (field , errorMsg2 );
96
+
97
+ Validation .addError (field2 , errorMsg );
98
+ Validation .addError (field2 , errorMsg2 );
99
+
100
+ // Check the first error
101
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsg );
102
+ assertEquals (4 , Validation .current ().errors .size ());
103
+
104
+ // Remove Errors on field2
105
+ Validation .removeErrors (field2 );
106
+
107
+ assertEquals (2 , Validation .errors ().size ());
108
+ assertEquals (2 , Validation .errors (field ).size ());
109
+ assertEquals (0 , Validation .errors (field2 ).size ());
110
+
111
+ // Restore error on field2
112
+ Validation .addError (field2 , errorMsg );
113
+ Validation .addError (field2 , errorMsg2 );
114
+
115
+ assertEquals (4 , Validation .current ().errors .size ());
116
+
117
+ // Remove Errors on field
118
+ Validation .removeErrors (field );
119
+
120
+ assertEquals (2 , Validation .errors ().size ());
121
+ assertEquals (0 , Validation .errors (field ).size ());
122
+ assertEquals (2 , Validation .errors (field2 ).size ());
123
+ }
124
+
125
+ @ Test
126
+ public void removeErrorMessageTest (){
127
+ new MessagesBuilder ().build ();
128
+
129
+ Validation .current .set (new Validation ());
130
+
131
+ final String field = "f1" ;
132
+ final String field2 = "f1.element" ;
133
+
134
+ final String errorMsg = "My errorMessage" ;
135
+ final String errorMsg2 = "My errorMessage2" ;
136
+ Validation .addError (field , errorMsg );
137
+ Validation .addError (field , errorMsg2 );
138
+
139
+ Validation .addError (field2 , errorMsg );
140
+ Validation .addError (field2 , errorMsg2 );
141
+
142
+ // Check the first error
143
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsg );
144
+ assertEquals (4 , Validation .current ().errors .size ());
145
+
146
+ // Remove Errors on field2
147
+ Validation .removeErrors (field2 , errorMsg );
148
+
149
+ assertEquals (3 , Validation .errors ().size ());
150
+ assertEquals (2 , Validation .errors (field ).size ());
151
+ assertEquals (1 , Validation .errors (field2 ).size ());
152
+
153
+ assertThat ( Validation .error (field2 ).message ).isEqualTo (errorMsg2 );
154
+
155
+ // Restore error on field2
156
+ Validation .addError (field2 , errorMsg );
157
+ Validation .addError (field2 , errorMsg2 );
158
+
159
+ assertEquals (4 , Validation .current ().errors .size ());
160
+
161
+ // Remove Errors on field
162
+ Validation .removeErrors (field , errorMsg );
163
+
164
+ assertEquals (3 , Validation .errors ().size ());
165
+ assertEquals (1 , Validation .errors (field ).size ());
166
+ assertEquals (2 , Validation .errors (field2 ).size ());
167
+
168
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsg2 );
169
+ }
170
+
171
+ @ Test
172
+ public void insertErrorTest (){
173
+ new MessagesBuilder ().build ();
174
+
175
+ Validation .current .set (new Validation ());
36
176
177
+ final String field = "f1" ;
178
+
179
+ final String errorMsg = "My errorMessage" ;
180
+ final String errorMsg2 = "My errorMessage2" ;
181
+ Validation .addError (field , errorMsg );
182
+ Validation .insertError (0 , field , errorMsg2 );
183
+
184
+
185
+ // Check the first error
186
+ assertThat ( Validation .error (field ).message ).isEqualTo (errorMsg2 );
187
+ assertEquals (2 , Validation .current ().errors .size ());
188
+ }
37
189
}
0 commit comments