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 }