Mercurial > silverbladetech
comparison SilverlightValidation/SilverlightValidation.Tests/ViewModels/UserViewModel_INotifyDataErrorInfo.cs @ 109:11994ccdc50b
First wave of tests complete
author | stevenhollidge <stevenhollidge@hotmail.com> |
---|---|
date | Sun, 06 May 2012 20:37:32 +0100 |
parents | |
children | 0185b15e04ba |
comparison
equal
deleted
inserted
replaced
108:b728c44d9c61 | 109:11994ccdc50b |
---|---|
1 using System; | |
2 using FluentAssertions; | |
3 using SilverlightValidation.Tests.Helpers; | |
4 using Microsoft.VisualStudio.TestTools.UnitTesting; | |
5 | |
6 namespace SilverlightValidation.Tests.ViewModels | |
7 { | |
8 [TestClass] | |
9 public class UserViewModel_INotifyDataErrorInfo | |
10 { | |
11 [TestMethod] | |
12 public void WhenValidVM_WithUpdatedUsername_WithValidData_ThenErrorsForUsernameEmpty() | |
13 { | |
14 // arrange | |
15 var vm = Helper.CreateValidUserViewModel(); | |
16 | |
17 // act | |
18 var validData = "valid"; | |
19 vm.Username = validData; | |
20 | |
21 // assert | |
22 Assert.IsFalse(vm.HasErrors); | |
23 vm.GetErrors("Username").Should().BeNull(); | |
24 } | |
25 | |
26 [TestMethod] | |
27 public void WhenValidVM_WithUpdatedUsername_WithInvalidEmptyData_ThenErrorsForUsernameEqualsOne() | |
28 { | |
29 // arrange | |
30 var vm = Helper.CreateValidUserViewModel(); | |
31 | |
32 // act | |
33 vm.Username = string.Empty; | |
34 | |
35 // assert | |
36 Assert.IsTrue(vm.HasErrors); | |
37 vm.GetErrors("Username").Should().HaveCount(1); | |
38 } | |
39 | |
40 [TestMethod] | |
41 public void WhenValidVM_WithUpdatedUsername_WithInvalidShortData_ThenErrorsForUsernameEqualsOne() | |
42 { | |
43 // arrange | |
44 var vm = Helper.CreateValidUserViewModel(); | |
45 | |
46 // act | |
47 var shortData = "a"; | |
48 vm.Username = shortData; | |
49 | |
50 // assert | |
51 Assert.IsTrue(vm.HasErrors); | |
52 vm.GetErrors("Username").Should().HaveCount(1); | |
53 } | |
54 | |
55 [TestMethod] | |
56 public void WhenValidVM_WithUpdatedUsername_WithInvalidLongData_ThenErrorsForUsernameEqualsOne() | |
57 { | |
58 // arrange | |
59 var vm = Helper.CreateValidUserViewModel(); | |
60 | |
61 // act | |
62 vm.Username = "thisdatashouldbetoolong"; | |
63 | |
64 // assert | |
65 Assert.IsTrue(vm.HasErrors); | |
66 vm.GetErrors("Username").Should().HaveCount(1); | |
67 } | |
68 | |
69 [TestMethod] | |
70 public void WhenValidVM_WithUpdatedPassword_WithValidData_ThenErrorsForPasswordEmpty() | |
71 { | |
72 // arrange | |
73 var vm = Helper.CreateValidUserViewModel(); | |
74 | |
75 // act | |
76 var validPassword = "Pa33word"; | |
77 vm.Password = validPassword; | |
78 | |
79 // assert | |
80 Assert.IsFalse(vm.HasErrors); | |
81 vm.GetErrors("Password").Should().BeNull(); | |
82 } | |
83 | |
84 [TestMethod] | |
85 public void WhenValidVM_WithUpdatedPassword_WithInvalidEmptyData_ThenErrorsForPasswordEqualsOne() | |
86 { | |
87 // arrange | |
88 var vm = Helper.CreateValidUserViewModel(); | |
89 | |
90 // act | |
91 vm.Password = string.Empty; | |
92 | |
93 // assert | |
94 Assert.IsTrue(vm.HasErrors); | |
95 vm.GetErrors("Password").Should().HaveCount(1); | |
96 } | |
97 | |
98 [TestMethod] | |
99 public void WhenValidVM_WithUpdatedPassword_WithInvalidDataNotContainingANumber_ThenErrorsForPasswordEqualsOne() | |
100 { | |
101 // arrange | |
102 var vm = Helper.CreateValidUserViewModel(); | |
103 | |
104 // act | |
105 vm.Password = "Password"; | |
106 | |
107 // assert | |
108 Assert.IsTrue(vm.HasErrors); | |
109 vm.GetErrors("Password").Should().HaveCount(1); | |
110 } | |
111 | |
112 [TestMethod] | |
113 public void WhenValidVM_WithUpdatedPassword_WithInvalidDataNotContainingAnUpperCaseLetter_ThenErrorsForPasswordEqualsOne() | |
114 { | |
115 // arrange | |
116 var vm = Helper.CreateValidUserViewModel(); | |
117 | |
118 // act | |
119 vm.Password = "pa33word"; | |
120 | |
121 // assert | |
122 Assert.IsTrue(vm.HasErrors); | |
123 vm.GetErrors("Password").Should().HaveCount(1); | |
124 } | |
125 | |
126 [TestMethod] | |
127 public void WhenValidVM_WithUpdatedPassword_WithInvalidDataNotContainingALowerCaseLetter_ThenErrorsForPasswordEqualsOne() | |
128 { | |
129 // arrange | |
130 var vm = Helper.CreateValidUserViewModel(); | |
131 | |
132 // act | |
133 vm.Password = "PA33WORD"; | |
134 | |
135 // assert | |
136 Assert.IsTrue(vm.HasErrors); | |
137 vm.GetErrors("Password").Should().HaveCount(1); | |
138 } | |
139 | |
140 [TestMethod] | |
141 public void WhenValidVM_WithUpdatedEmail_WithValidData_ThenErrorsForEmailEmpty() | |
142 { | |
143 // arrange | |
144 var vm = Helper.CreateValidUserViewModel(); | |
145 | |
146 // act | |
147 var validData = "valid@email.com"; | |
148 vm.Email = validData; | |
149 | |
150 // assert | |
151 Assert.IsFalse(vm.HasErrors); | |
152 vm.GetErrors("Email").Should().BeNull(); | |
153 } | |
154 | |
155 [TestMethod] | |
156 public void WhenValidVM_WithUpdatedEmail_WithInvalidEmptyData_ThenErrorsForEmailEqualsOne() | |
157 { | |
158 // arrange | |
159 var vm = Helper.CreateValidUserViewModel(); | |
160 | |
161 // act | |
162 vm.Email = string.Empty; | |
163 | |
164 // assert | |
165 Assert.IsTrue(vm.HasErrors); | |
166 vm.GetErrors("Email").Should().HaveCount(1); | |
167 } | |
168 | |
169 [TestMethod] | |
170 public void WhenValidVM_WithUpdatedEmail_WithInvalidDataNoAtSign_ThenErrorsForEmailEqualsOne() | |
171 { | |
172 // arrange | |
173 var vm = Helper.CreateValidUserViewModel(); | |
174 | |
175 // act | |
176 var noAtSign = "invalidemail.com"; | |
177 vm.Email = noAtSign; | |
178 | |
179 // assert | |
180 Assert.IsTrue(vm.HasErrors); | |
181 vm.GetErrors("Email").Should().HaveCount(1); | |
182 } | |
183 | |
184 [TestMethod] | |
185 public void WhenValidVM_WithUpdatedEmail_WithInvalidDataNothingBeforeAtSign_ThenErrorsForEmailEqualsOne() | |
186 { | |
187 // arrange | |
188 var vm = Helper.CreateValidUserViewModel(); | |
189 | |
190 // act | |
191 var nothingBeforeAtSign = "@email.com"; | |
192 vm.Email = nothingBeforeAtSign; | |
193 | |
194 // assert | |
195 Assert.IsTrue(vm.HasErrors); | |
196 vm.GetErrors("Email").Should().HaveCount(1); | |
197 } | |
198 | |
199 [TestMethod] | |
200 public void WhenValidVM_WithUpdatedEmail_WithInvalidDataNoDotAfterAtSign_ThenErrorsForEmailEqualsOne() | |
201 { | |
202 // arrange | |
203 var vm = Helper.CreateValidUserViewModel(); | |
204 | |
205 // act | |
206 vm.Email = "invalid@email"; | |
207 | |
208 // assert | |
209 Assert.IsTrue(vm.HasErrors); | |
210 vm.GetErrors("Email").Should().HaveCount(1); | |
211 } | |
212 | |
213 [TestMethod] | |
214 public void WhenValidVM_WithUpdatedDateOfBirth_WithValidData_ThenErrorsForDateOfBirthEmpty() | |
215 { | |
216 // arrange | |
217 var vm = Helper.CreateValidUserViewModel(); | |
218 | |
219 // act | |
220 var validData = new DateTime(1977, 01, 01); | |
221 vm.DateOfBirth = validData; | |
222 | |
223 // assert | |
224 Assert.IsFalse(vm.HasErrors); | |
225 vm.GetErrors("DateOfBirth").Should().BeNull(); | |
226 } | |
227 | |
228 [TestMethod] | |
229 public void WhenValidVM_WithUpdatedDateOfBirth_WithInvalidEarlyData_ThenErrorsForDateOfBirthEqualsOne() | |
230 { | |
231 // arrange | |
232 var vm = Helper.CreateValidUserViewModel(); | |
233 | |
234 // act | |
235 vm.DateOfBirth = DateTime.MinValue; | |
236 | |
237 // assert | |
238 Assert.IsTrue(vm.HasErrors); | |
239 vm.GetErrors("DateOfBirth").Should().HaveCount(1); | |
240 } | |
241 | |
242 [TestMethod] | |
243 public void WhenValidVM_WithUpdatedDateOfBirth_WithInvalidDataMaxDate_ThenErrorsForDateOfBirthEqualsOne() | |
244 { | |
245 // arrange | |
246 var vm = Helper.CreateValidUserViewModel(); | |
247 | |
248 // act | |
249 vm.DateOfBirth = DateTime.MaxValue; | |
250 | |
251 // assert | |
252 Assert.IsTrue(vm.HasErrors); | |
253 vm.GetErrors("DateOfBirth").Should().HaveCount(1); | |
254 } | |
255 | |
256 [TestMethod] | |
257 public void WhenValidVM_WithUpdatedDateOfBirth_WithInvalidDataTomorrow_ThenErrorsForDateOfBirthEqualsOne() | |
258 { | |
259 // arrange | |
260 var vm = Helper.CreateValidUserViewModel(); | |
261 | |
262 // act | |
263 vm.DateOfBirth = DateTime.Now.AddDays(1); | |
264 | |
265 // assert | |
266 Assert.IsTrue(vm.HasErrors); | |
267 vm.GetErrors("DateOfBirth").Should().HaveCount(1); | |
268 } | |
269 | |
270 } | |
271 } |