· 7 years ago · Aug 21, 2018, 09:16 PM
1using System;
2using System.Linq;
3using HCTRAMobile.UITests.Resources;
4using NUnit.Framework;
5using Xamarin.UITest;
6
7namespace HCTRAMobile.UITests
8{
9 [TestFixture(Platform.Android)]
10 [TestFixture(Platform.iOS)]
11 public class UpdateProfileUITests
12 {
13 private IApp _app;
14 private readonly Platform _platform;
15 private LoginHelper loginHelper = null;
16 private UITestHelper uiTestHelper = null;
17
18 public UpdateProfileUITests(Platform platform)
19 {
20 _platform = platform;
21 }
22
23 [SetUp]
24 public void Setup()
25 {
26 _app = AppInitializer.StartApp(_platform);
27 loginHelper = new LoginHelper(_app, _platform);
28 uiTestHelper = new UITestHelper(_app, _platform);
29 }
30
31 private void LoadUpdateProfilePage()
32 {
33 uiTestHelper.LoadScreen(15);
34 _app.ScrollUp();
35 if (_platform == Platform.Android)
36 {
37 _app.WaitForElement(x => x.Marked(TestConstants.ACCT_PROFILE), "Timed Out.", TimeSpan.FromMinutes(1));
38 _app.Tap(x => x.Marked(TestConstants.ACCT_PROFILE));
39 }
40 else
41 {
42 _app.WaitForElement(x => x.Marked(TestConstants.ACCT_PROFILE_IOS), "Timed Out.", TimeSpan.FromMinutes(1));
43 _app.Tap(x => x.Marked(TestConstants.ACCT_PROFILE_IOS));
44 }
45 uiTestHelper.ValidateUpdateProfilePage();
46 }
47
48 private void LoadUpdateSettingsPage()
49 {
50 uiTestHelper.LoadScreen(15);
51 _app.ScrollUp();
52 //if (_platform == Platform.Android)
53 //{
54 // _app.WaitForElement(x => x.Marked(TestConstants.ACCT_SETTINGS), "Timed Out.", TimeSpan.FromMinutes(1));
55 // _app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
56 // uiTestHelper.CaptureScreenshot("Settings Page Loaded.");
57 //}
58 //else
59 //{
60 // _app.WaitForElement(x => x.Marked(TestConstants.SETTINGS_WHITE), "Timed Out.", TimeSpan.FromMinutes(1));
61 // _app.Tap(x => x.Marked(TestConstants.SETTINGS_WHITE));
62 //}
63
64 _app.WaitForElement(x => x.Marked(TestConstants.ACCT_SETTINGS), "Timed Out.", TimeSpan.FromMinutes(1));
65 _app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
66 uiTestHelper.CaptureScreenshot("Settings Page Loaded.");
67
68 uiTestHelper.ValidateUpdateSettingsPage();
69 }
70
71 private void SetUpdateProfileDefaults(string userName, string password)
72 {
73 loginHelper.EnterCredentials(userName, password);
74 loginHelper.Login();
75 uiTestHelper.LoadScreen(30);
76 uiTestHelper.DisplayHomePage();
77 }
78
79 private void ChangeEmail()
80 {
81 //_app.Tap(x => x.Marked(TestConstants.UP_DEFAULT_EMAIL));
82 _app.Tap(x => x.Marked("Email"));
83 uiTestHelper.LoadScreen(5);
84 _app.WaitForElement(x => x.Marked("Email"));
85 //_app.ClearText();
86 //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
87 _app.EnterText(TestConstants.UP_NEW_EMAIL);
88 _app.DismissKeyboard();
89 uiTestHelper.CaptureScreenshot("Updated Email Address.");
90 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
91
92 }
93
94 private void ChangeToDefaultEmail()
95 {
96 _app.Tap(x => x.Marked(TestConstants.UP_NEW_EMAIL));
97 uiTestHelper.LoadScreen(5);
98 _app.WaitForElement(x => x.Marked("Email"));
99 //_app.ClearText();
100 _app.EnterText(TestConstants.UP_DEFAULT_EMAIL);
101 _app.DismissKeyboard();
102 uiTestHelper.CaptureScreenshot("Changed toDefault Email Address.");
103 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
104
105 }
106
107 protected internal void ChangePhone()
108 {
109 _app.Tap(x => x.Marked(TestConstants.UPDATE_PROFILE_PHONE));
110 //_app.ClearText();
111 _app.WaitForElement(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
112 _app.EnterText(uiTestHelper.RandomNo(10));
113 _app.DismissKeyboard();
114 uiTestHelper.CaptureScreenshot("Update Phone number.");
115 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
116 //_app.Tap(x => x.Marked("OK"));
117 }
118
119 private void ChangeEmailPhone()
120 {
121 //_app.Tap(x => x.Id("Email"));
122 //_app.ClearText();
123 //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
124 _app.WaitForElement(x => x.Marked("Email"));
125 _app.Tap(x => x.Marked("Email"));
126 uiTestHelper.LoadScreen(5);
127 //_app.ClearText();
128 _app.EnterText(TestConstants.UP_NEW_EMAIL);
129 uiTestHelper.CaptureScreenshot("Changed tonew Email Address.");
130 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
131 uiTestHelper.LoadScreen(5);
132 _app.Tap(x => x.Marked(TestConstants.UPDATE_PROFILE_PHONE));
133 //_app.ClearText();
134 uiTestHelper.LoadScreen(5);
135 _app.EnterText(uiTestHelper.RandomNo(10));
136 _app.DismissKeyboard();
137 uiTestHelper.CaptureScreenshot("Changed tonew Phone.");
138 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
139 //_app.Tap(x => x.Marked("OK"));
140 }
141
142 private void TapEnterDismiss(string controlName, string controlData)
143 {
144 if (_platform == Platform.Android)
145 {
146 _app.Tap(x => x.Marked(controlName));
147 _app.EnterText(x => x.Marked(controlName), controlData);
148 }
149 else
150 {
151 _app.Tap(x => x.Id(controlName));
152 _app.EnterText(x => x.Id(controlName), controlData);
153 }
154 _app.DismissKeyboard();
155 }
156
157 private void EnterCreditCardDetails(string cardNumber, string monthNum, string yearNum)
158 {
159 //ClearTextControls("", TestConstants.CARD_NUMBER);
160 //_app.EnterText(x => x.Marked(TestConstants.CARD_NUMBER), cardNumber);
161 ClearAndEnterTextControls(TestConstants.CARD_NAME, cardNumber);
162 uiTestHelper.SetPickerValue(TestConstants.MONTH_PICKER, monthNum, 12);
163 uiTestHelper.SetPickerValue(TestConstants.YEAR_PICKER, yearNum, 21);
164 uiTestHelper.CaptureScreenshot("Credit card details entered.");
165 }
166
167 private void ClearAndEnterTextControls(string cardName, string cardNumber)
168 {
169 _app.Tap(x => x.Marked(TestConstants.CARD_NAME));
170 _app.ClearText();
171 //_app.EnterText(x => x.Marked(TestConstants.CARD_NAME), uiTestHelper.RandomString(5) + " " + uiTestHelper.RandomString(5));
172 if (!string.IsNullOrWhiteSpace(cardName))
173 {
174 _app.EnterText(x => x.Marked(TestConstants.CARD_NAME), ("User " + uiTestHelper.RandomString(10)));
175 }
176 _app.DismissKeyboard();
177
178 _app.Tap(x => x.Marked(TestConstants.CARD_NUMBER));
179 _app.ClearText();
180
181 if (!string.IsNullOrWhiteSpace(cardNumber))
182 {
183 _app.EnterText(x => x.Marked(TestConstants.CARD_NUMBER), cardNumber);
184 }
185 _app.DismissKeyboard();
186 }
187
188 private void UpdateCreditCardDetails()
189 {
190 _app.Tap(x => x.Marked(TestConstants.MP_UPDATE));
191 uiTestHelper.CaptureScreenshot("AECreditCardDetails Updated");
192 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
193 _app.Tap(x => x.Text("OK"));
194 uiTestHelper.CaptureScreenshot("Records updated");
195 /*_app.Tap(x => x.Text("OK"));
196 uiTestHelper.DisplayHomePage();*/
197 }
198
199 private void UpdateReplenishmentAmount()
200 {
201 //_app.Tap(x => x.Marked(TestConstants.UP_DEFAULT_EMAIL));
202 uiTestHelper.LoadScreen(5);
203 _app.ScrollDown();
204 _app.Tap(x => x.Marked("Replenishment Amount"));
205 uiTestHelper.LoadScreen(10);
206 _app.ClearText();
207 _app.EnterText(TestConstants.CHANGE_REPLENISHMENT);
208 //_app.ClearText();
209 //_app.EnterText(uiTestHelper.RandomString(10) + "@gmail.com");
210 _app.DismissKeyboard();
211 uiTestHelper.CaptureScreenshot("Updated Replenishment Amount.");
212 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
213
214 }
215
216 [Test]//ID12314 Update Profile - Email WIP
217 public void UpdateEmail()
218 {
219 uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
220 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
221 LoadUpdateProfilePage();
222 ChangeEmail();
223 //verify new email
224 uiTestHelper.LoadScreen(10);
225 ChangeToDefaultEmail();
226 uiTestHelper.LoadScreen(10);
227 uiTestHelper.ValidateUpdateProfilePage();
228 uiTestHelper.TapBackButtonForDevice();
229 //LoadUpdateProfilePage();
230 uiTestHelper.DisplayHomePage();
231 }
232
233 [Test]//ID12315 Update Profile - Phone
234 public void UpdatePhone()
235 {
236 uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
237 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
238 LoadUpdateProfilePage();
239 _app.WaitForElement(x => x.Marked("Email"));
240 ChangePhone();
241 _app.WaitForElement(x => x.Marked("Phone"));
242 uiTestHelper.ValidateUpdateProfilePage();
243 uiTestHelper.TapBackButtonForDevice();
244 //_app.ScrollUp();
245 uiTestHelper.DisplayHomePage();
246 }
247
248 [Test]//ID12316 Update Profile - Email and Phone
249 [Category("Smoke")]
250 public void UpdateEmailAndPhone()
251 {
252 uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
253 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
254 LoadUpdateProfilePage();
255 _app.WaitForElement(x => x.Marked("Email"));
256 ChangeEmailPhone();
257 uiTestHelper.LoadScreen(10);
258 //_app.ScrollUp();
259 uiTestHelper.ValidateUpdateProfilePage();
260 uiTestHelper.TapBackButtonForDevice();
261 uiTestHelper.DisplayHomePage();
262 //verify new email and phone?
263 LoadUpdateProfilePage();
264 _app.WaitForElement(x => x.Marked("Email"));
265 ChangeToDefaultEmail();
266 uiTestHelper.LoadScreen(10);
267 //_app.ScrollUp();
268 uiTestHelper.ValidateUpdateProfilePage();
269 uiTestHelper.TapBackButtonForDevice();
270 uiTestHelper.DisplayHomePage();
271 }
272
273 [Test]//Change Password and Back to Original Password - Back Button
274 public void ChangePasswordAndBackToDefaultPassword()
275 {
276 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
277 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
278 LoadUpdateProfilePage();
279 _app.WaitForElement(x => x.Marked("Password"));
280 _app.Tap(x => x.Marked("Password"));
281 uiTestHelper.LoadScreen(5);
282 _app.EnterText(TestConstants.NEW_PASSWORD);
283 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
284 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
285 _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
286 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
287 _app.Tap(x => x.Text("OK"));
288 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
289 _app.Tap(x => x.Text("OK"));
290 uiTestHelper.CaptureScreenshot("New Password updated");
291 _app.WaitForElement(x => x.Marked("Password"));
292 _app.Tap(x => x.Marked("Password"));
293 uiTestHelper.LoadScreen(5);
294 _app.EnterText(TestConstants.PASSWORD);
295 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
296 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
297 _app.EnterText(TestConstants.NEW_PASSWORD);
298 _app.Tap(x => x.Text("OK"));
299 uiTestHelper.CaptureScreenshot("Default Password updated");
300 _app.Tap(x => x.Text("OK"));
301 uiTestHelper.LoadScreen(5);
302 uiTestHelper.TapBackButtonForDevice();
303 //_app.ScrollUp();
304 uiTestHelper.DisplayHomePage();
305 }
306
307 [Test]//Change Username and Back to Original Username - Back Button
308 public void ChangeUsernameAndBackToDefaultUsername()
309 {
310 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
311 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
312 LoadUpdateProfilePage();
313 _app.WaitForElement(x => x.Marked("Username"));
314 _app.Tap(x => x.Marked("Username"));
315 uiTestHelper.LoadScreen(5);
316 _app.EnterText(TestConstants.NEW_USERNAME);
317 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
318 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
319 _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
320 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
321 _app.Tap(x => x.Text("OK"));
322 uiTestHelper.CaptureScreenshot("New Username updated");
323 _app.WaitForElement(x => x.Marked("Username"));
324 _app.Tap(x => x.Marked("Username"));
325 uiTestHelper.LoadScreen(5);
326 _app.EnterText(TestConstants.USERNAME);
327 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
328 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
329 _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
330 _app.Tap(x => x.Text("OK"));
331 uiTestHelper.CaptureScreenshot("Default Username updated");
332 uiTestHelper.LoadScreen(5);
333 uiTestHelper.TapBackButtonForDevice();
334 //_app.ScrollUp();
335 uiTestHelper.DisplayHomePage();
336 }
337
338 [Test]//ID1217 Update Profile/Settings - Back Button
339 public void UpdateProfileSettingsBack()
340 {
341 uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
342 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
343 LoadUpdateProfilePage();
344 //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
345 LoadUpdateSettingsPage();
346 uiTestHelper.TapBackButtonForDevice();
347 uiTestHelper.ValidateUpdateProfilePage();
348 uiTestHelper.TapBackButtonForDevice();
349 //_app.ScrollUp();
350 uiTestHelper.DisplayHomePage();
351 }
352
353 [Test]//ID14840 UPDATE DEFAULT ACTIVATION PERIOD - Back Button
354 public void UpdateDefaultActivationPeriodSettingsBack()
355 {
356 uiTestHelper.CaptureScreenshot("UpdateEmail Test started.");
357 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
358 LoadUpdateProfilePage();
359 //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
360 LoadUpdateSettingsPage();
361 _app.Tap(x => x.Marked(TestConstants.DEFAULT_ACTIVATION_PERIOD));
362 _app.Tap(x => x.Marked("7"));
363 _app.ClearText();
364 _app.EnterText(TestConstants.DEFAULT_ACTIVATION_DAYS);
365 uiTestHelper.CaptureScreenshot("UPDATING DEFAULT ACTIVATION PERIOD");
366 _app.Tap(TestConstants.SAVE_BUTTON);
367 uiTestHelper.CaptureScreenshot("DEFAULT ACTIVATION PERIOD updated");
368 uiTestHelper.TapBackButtonForDevice();
369 uiTestHelper.ValidateUpdateProfilePage();
370 uiTestHelper.TapBackButtonForDevice();
371 //_app.ScrollUp();
372 uiTestHelper.DisplayHomePage();
373 }
374
375 [Test]//Update Security Question Profile Page - Back Button
376 public void UpdateSecurityQuestionBack()
377 {
378 uiTestHelper.CaptureScreenshot("SecurityQuestion Test started.");
379 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
380 LoadUpdateProfilePage();
381 _app.WaitForElement(x => x.Marked("Security Question"));
382 _app.Tap(x => x.Marked("Security Question"));
383 if (_platform == Platform.Android)
384 {
385 uiTestHelper.SetPickerValue(TestConstants.SECURITY_QUESTION, "1", 7);
386 }
387 else
388 {
389 uiTestHelper.SetPickerValue(TestConstants.SECURITY_QUESTION, TestConstants.SECURITY_QUESTION_DATA, 7);
390 }
391
392 TapEnterDismiss(TestConstants.SECURITY_ANSWER, TestConstants.SECURITY_ANSWER_DATA);
393 _app.Tap(x => x.Marked(TestConstants.PROFILE_UPDATE_BUTTON));
394 _app.WaitForElement(x => x.Text("OK"), "Timed Out.", TimeSpan.FromMinutes(1));
395 _app.EnterText(TestConstants.CONFIRMATION_CURRENT_PASSWORD);
396 _app.Tap(x => x.Text("OK"));
397 uiTestHelper.CaptureScreenshot("Security Question/Answer updated");
398 uiTestHelper.LoadScreen(5);
399 uiTestHelper.TapBackButtonForDevice();
400 //_app.ScrollUp();
401 uiTestHelper.DisplayHomePage();
402 }
403
404 [Test]//Update Payment Method Profile - Back Button
405 public void UpdatePaymentMethodProfile()
406 {
407 uiTestHelper.CaptureScreenshot("UpdatePaymentMethodProfile Test Started");
408 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
409 LoadUpdateProfilePage();
410 uiTestHelper.LoadScreen(5);
411 _app.ScrollDown();
412 _app.Tap(x => x.Marked("Payment Method"));
413 if (_platform == Platform.Android)
414 {
415 EnterCreditCardDetails(TestConstants.AE_CARD_NUMBER, "4", "3");
416 }
417 else
418 {
419 EnterCreditCardDetails(TestConstants.AE_CARD_NUMBER, "05", "2019");
420 }
421 _app.Flash(x => x.Marked(TestConstants.AMERICAN_EXPRESS));
422 UpdateCreditCardDetails();
423 uiTestHelper.LoadScreen(5);
424 uiTestHelper.TapBackButtonForDevice();
425 uiTestHelper.DisplayHomePage();
426 }
427
428 [Test]//Update Replenishment Amount - Back Button
429 public void UpdateReplenishmentAmountBack()
430 {
431 uiTestHelper.CaptureScreenshot("UpdateRelenishmentAmount Test started.");
432 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
433 LoadUpdateProfilePage();
434 UpdateReplenishmentAmount();
435 uiTestHelper.LoadScreen(5);
436 uiTestHelper.TapBackButtonForDevice();
437 //_app.ScrollUp();
438 uiTestHelper.DisplayHomePage();
439 }
440
441 [Test]
442 public void CheckPolicy()
443 {
444 uiTestHelper.CaptureScreenshot("CheckPolicy Test started.");
445 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
446 LoadUpdateProfilePage();
447 LoadUpdateSettingsPage();
448
449 _app.Tap(x => x.Marked("Privacy Policy"));
450
451 //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
452 }
453
454 [Test]// Login rememberme - off, Enable Touch ID - on.
455 public void EnableFingerPrint()
456 {
457 uiTestHelper.CaptureScreenshot("EnableFingerPrint Test started.");
458 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
459 LoadUpdateProfilePage();
460 //_app.Tap(x => x.Marked(TestConstants.ACCT_SETTINGS));
461 LoadUpdateSettingsPage();
462 //uiTestHelper.TapBackButtonForDevice();
463 //uiTestHelper.ValidateUpdateProfilePage();
464 //uiTestHelper.TapBackButtonForDevice();
465 //_app.ScrollUp();
466 //uiTestHelper.DisplayHomePage();
467
468 //_app.Tap(x => x.Marked("Notifications"));
469
470 _app.Tap(x => x.Marked("FingerPrintAutomationId"));
471 //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
472 }
473
474 [Test]
475 public void ToggleNotification()
476 {
477 uiTestHelper.CaptureScreenshot("Notification Toggle Test started.");
478 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
479 LoadUpdateProfilePage();
480 LoadUpdateSettingsPage();
481
482 _app.Tap(x => x.Marked("Notifications"));
483 _app.Tap(x => x.Marked("General")); //does not toggle.
484
485 //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
486 }
487
488 [Test]
489 public void CheckContactUs()
490 {
491 uiTestHelper.CaptureScreenshot("CheckContactUs Test started.");
492 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
493 LoadUpdateProfilePage();
494 LoadUpdateSettingsPage();
495
496 _app.Tap(x => x.Marked("Contact Us"));
497
498 //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
499 }
500
501 [Test]
502 public void CheckMaps()
503 {
504 uiTestHelper.CaptureScreenshot("CheckMaps Test started.");
505 SetUpdateProfileDefaults(TestConstants.USERNAME, TestConstants.PASSWORD);
506 LoadUpdateProfilePage();
507 LoadUpdateSettingsPage();
508
509 _app.Tap(x => x.Marked("Regional Maps"));
510
511 //uiTestHelper.CaptureScreenshot("Remember Me is turned on.");
512 }
513
514 [Test]//Update Mailing Address
515 public void UpdateMailingAddress()
516 {
517 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
518 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
519 LoadUpdateProfilePage();
520
521 _app.WaitForElement(x => x.Marked("Mailing Address"));
522 _app.Tap(x => x.Marked("Mailing Address"));
523 uiTestHelper.LoadScreen(5);
524
525
526 _app.Tap(x => x.Marked("Country"));
527 _app.Tap(x => x.Marked("USA"));
528
529 _app.Tap(x => x.Marked("Address1"));
530 _app.ClearText();
531 _app.EnterText(x => x.Marked("Address1"), "123 Test St");
532
533 _app.Tap(x => x.Marked("Address2"));
534 _app.ClearText();
535 _app.EnterText(x => x.Marked("Address2"), "456 Test St");
536
537 _app.Tap(x => x.Marked("City"));
538 _app.ClearText();
539 _app.EnterText(x => x.Marked("City"), "Houston");
540
541 _app.Tap(x => x.Marked("State"));
542 _app.Tap(x => x.Marked("TX"));
543
544 _app.Tap(x => x.Marked("ZipCode"));
545 _app.EnterText(x => x.Marked("ZipCode"), "77064");
546
547 _app.WaitForElement(x => x.Marked("Update"));
548 _app.Tap(x => x.Marked("Update"));
549
550 }
551
552 [Test]//invalid character Mailing Address
553 public void CheckInvalidMailingAddress()
554 {
555 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
556 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
557 LoadUpdateProfilePage();
558
559 _app.WaitForElement(x => x.Marked("Mailing Address"));
560 _app.Tap(x => x.Marked("Mailing Address"));
561 uiTestHelper.LoadScreen(5);
562
563 _app.Tap(x => x.Marked("Country"));
564 _app.Tap(x => x.Marked("USA"));
565 //_app.WaitForElement(x => x.Marked("USA"));
566 _app.Tap(x => x.Marked("Address1"));
567 _app.ClearText();
568 _app.EnterText(x => x.Marked("Address1"), "1231%^&*123 Test St");
569 _app.Tap(x => x.Marked("Address2"));
570 _app.ClearText();
571 _app.EnterText(x => x.Marked("Address2"), "23123%^&*123123 Test St");
572 _app.Tap(x => x.Marked("City"));
573 _app.ClearText();
574 _app.EnterText(x => x.Marked("City"), "Houst%^&*stonHouston");
575 _app.Tap(x => x.Marked("ZipCode"));
576 _app.EnterText(x => x.Marked("ZipCode"), "77064%^&*s");
577
578
579 _app.WaitForElement(x => x.Marked("Update"));
580 _app.Tap(x => x.Marked("Update"));
581
582 //_app.WaitForElement(x => x.Marked("Please enter a valid address"));
583 //_app.WaitForElement(x => x.Marked("Please enter a valid city"));
584 //_app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
585 }
586
587 //[Test]//invalid character Mailing Address
588 //public void CheckLengthMailingAddress()
589 //{
590 // uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
591 // SetUpdateProfileDefaults(TestConstants.EXPRESS, TestConstants.EXPRESS_PW);
592 // LoadUpdateProfilePage();
593
594 // _app.WaitForElement(x => x.Marked("Mailing Address"));
595 // _app.Tap(x => x.Marked("Mailing Address"));
596 // uiTestHelper.LoadScreen(5);
597
598
599 // _app.Tap(x => x.Marked("Country"));
600 // _app.Tap(x => x.Marked("USA"));
601 // _app.Tap(x => x.Marked("Address1"));
602 // _app.ClearText();
603 // _app.EnterText(x => x.Marked("Address1"), "1231123123123 Test St");
604 // _app.Tap(x => x.Marked("Address2"));
605 // _app.ClearText();
606 // _app.EnterText(x => x.Marked("Address2"), "2312312312312323123 Test St");
607 // _app.Tap(x => x.Marked("City"));
608 // _app.ClearText();
609 // _app.EnterText(x => x.Marked("City"), "HoustasdfadsftonHouston");
610
611 // //_app.WaitForElement(x => x.Marked("Please enter a valid address"));
612 // //_app.WaitForElement(x => x.Marked("Please enter a valid city"));
613 // //_app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
614
615 // _app.Tap(x => x.Marked("ZipCode"));
616 // _app.EnterText(x => x.Marked("ZipCode"), "77064");
617
618 // //Valid length
619 // _app.Tap(x => x.Marked("Address1"));
620 // _app.ClearText();
621 // _app.EnterText(x => x.Marked("Address1"), "123 Test St");
622
623 // _app.Tap(x => x.Marked("Address2"));
624 // _app.ClearText();
625 // _app.EnterText(x => x.Marked("Address2"), "456 Test St");
626
627 // _app.Tap(x => x.Marked("City"));
628 // _app.ClearText();
629 // _app.EnterText(x => x.Marked("City"), "Houston");
630
631
632 // _app.Tap(x => x.Marked("ZipCode"));
633 // _app.EnterText(x => x.Marked("ZipCode"), "77064");
634
635 // _app.WaitForElement(x => x.Marked("Update"));
636 // _app.Tap(x => x.Marked("Update"));
637 //}
638
639 [Test]//Update Mailing Address
640 public void BlankMailingAddress()
641 {
642 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
643 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
644 LoadUpdateProfilePage();
645
646 _app.WaitForElement(x => x.Marked("Mailing Address"));
647 _app.Tap(x => x.Marked("Mailing Address"));
648 uiTestHelper.LoadScreen(5);
649
650 _app.Tap(x => x.Marked("Country"));
651 _app.Tap(x => x.Marked("USA"));
652 _app.Tap(x => x.Marked("Address1"));
653 _app.ClearText();
654 _app.Tap(x => x.Marked("Address2"));
655 _app.ClearText();
656 _app.Tap(x => x.Marked("City"));
657 _app.ClearText();
658 // _app.Tap(x => x.Marked("State"));
659 // _app.Tap(x => x.Marked("TX"));
660 _app.Tap(x => x.Marked("ZipCode"));
661 _app.ClearText();
662
663 _app.WaitForElement(x => x.Marked("Update"));
664 _app.Tap(x => x.Marked("Update"));
665
666 _app.WaitForElement(x => x.Marked("Please enter a valid address"));
667 _app.WaitForElement(x => x.Marked("Please enter a valid city"));
668 _app.WaitForElement(x => x.Marked("Please enter a valid zip code"));
669 }
670
671 [Test] //Test Field Hide
672 public void ChangeToInternationalMailingAddress()
673 {
674 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
675 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
676 LoadUpdateProfilePage();
677
678 _app.WaitForElement(x => x.Marked("Mailing Address"));
679 _app.Tap(x => x.Marked("Mailing Address"));
680 uiTestHelper.LoadScreen(5);
681
682 _app.WaitForElement(x => x.Marked("USA"));
683 _app.Tap(x => x.Marked("USA"));
684 uiTestHelper.SetPickerValue("CountryField", "ZIMBABWE", 195);
685
686 //How to check if an element is not there?
687 if (_app.Query(x => x.Marked("City")).Count() < 0 && _app.Query(x => x.Marked("ZipCode")).Count() < 0)
688 {
689 _app.Tap(x => x.Marked("Address1"));
690 _app.ClearText();
691 _app.EnterText(x => x.Marked("Address1"), "123 Test St");
692
693 _app.Tap(x => x.Marked("Address2"));
694 _app.ClearText();
695 _app.EnterText(x => x.Marked("Address2"), "456 Test St");
696
697 _app.Tap(x => x.Marked("City"));
698 _app.ClearText();
699 _app.EnterText(x => x.Marked("City"), "Houston");
700
701 //_app.Tap(x => x.Marked("State"));
702 //_app.Tap(x => x.Marked("TX"));
703
704 _app.Tap(x => x.Marked("ZipCode"));
705 _app.EnterText(x => x.Marked("ZipCode"), "77064");
706 }
707
708 _app.Tap(x => x.Marked("Update"));
709
710
711
712
713 _app.WaitForElement(x => x.Marked("Mailing Address"));
714 _app.Tap(x => x.Marked("Mailing Address"));
715 _app.WaitForElement(x => x.Marked("ZIMBABWE"));
716 _app.Tap(x => x.Marked("ZIMBABWE"));
717
718 for (int i = 0; i < 15; i++) //every scroll down is 4 elements
719 {
720 _app.ScrollUp(x => x.Class("UIPickerTableView").Index(0));
721
722 }
723
724 uiTestHelper.SetPickerValue("CountryField", "USA", 195);
725
726 //How to check if an element is not there?
727 if (_app.Query(x => x.Marked("City")).Count() > 0 && _app.Query(x => x.Marked("ZipCode")).Count() > 0)
728 {
729 _app.Tap(x => x.Marked("Address1"));
730 _app.ClearText();
731 _app.EnterText(x => x.Marked("Address1"), "123 Test St");
732
733 _app.Tap(x => x.Marked("Address2"));
734 _app.ClearText();
735 _app.EnterText(x => x.Marked("Address2"), "456 Test St");
736 }
737
738 _app.Tap(x => x.Marked("Update"));
739 }
740
741 [Test]//Add Authorized Contacts
742 public void AddAuthorizedContact()
743 {
744 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
745 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
746 LoadUpdateProfilePage();
747
748
749 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
750 _app.Tap(x => x.Marked("Authorized Contacts"));
751 uiTestHelper.LoadScreen(5);
752
753 _app.Tap(x => x.Marked("Add"));
754 _app.WaitForElement(x => x.Marked("FirstName"));
755 _app.Tap(x => x.Marked("FirstName"));
756 _app.EnterText(x => x.Marked("FirstName"), "ASDF");
757 _app.Tap(x => x.Marked("LastName"));
758 _app.EnterText(x => x.Marked("LastName"), "ASDF");
759 _app.Tap(x => x.Marked("AccessCode"));
760 _app.EnterText(x => x.Marked("AccessCode"), "123123");
761
762 _app.Tap(x => x.Marked("Update"));
763
764 _app.Tap(x => x.Marked("Save"));
765 _app.EnterText(TestConstants.FULL_PW);
766 _app.Tap(x => x.Marked("OK"));
767
768 _app.WaitForElement(x => x.Marked("OK"));
769 _app.Tap(x => x.Marked("OK"));
770 _app.Tap(x => x.Marked("OK"));
771 }
772
773 [Test]//Update Authorized Contacts
774 public void AuthorizedContactUpdate()
775 {
776 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
777 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
778 LoadUpdateProfilePage();
779
780 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
781 _app.Tap(x => x.Marked("Authorized Contacts"));
782 uiTestHelper.LoadScreen(5);
783
784 //_app.WaitForElement(x => x.Marked("ContactItem"));
785 //_app.WaitForElement(x => x.Marked("trashcan.png"));
786 _app.WaitForElement(x => x.Marked("ASDF ASDF "));
787 _app.Tap(x => x.Marked("ASDF ASDF "));
788 _app.WaitForElement(x => x.Marked("FirstName"));
789 _app.Tap(x => x.Marked("FirstName"));
790 _app.EnterText(x => x.Marked("FirstName"), "ASDF");
791 _app.Tap(x => x.Marked("LastName"));
792 _app.EnterText(x => x.Marked("LastName"), "ASDF");
793 _app.Tap(x => x.Marked("AccessCode"));
794 _app.EnterText(x => x.Marked("AccessCode"), "123123");
795
796 _app.Tap(x => x.Marked("Update"));
797
798 _app.Tap(x => x.Marked("Save"));
799 _app.EnterText(TestConstants.FULL_PW);
800 _app.Tap(x => x.Marked("OK"));
801
802 _app.WaitForElement(x => x.Marked("OK"));
803 _app.Tap(x => x.Marked("OK"));
804
805 _app.Tap(x => x.Marked("OK"));
806 }
807
808 [Test]//Update Authorized Contacts w/ Invalid pass
809 public void AuthorizedContactUpdateWithInvalidPassword()
810 {
811 uiTestHelper.CaptureScreenshot("AuthorizedContactUpdateWithInvalidPassword Test started.");
812 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
813 LoadUpdateProfilePage();
814
815 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
816 _app.Tap(x => x.Marked("Authorized Contacts"));
817 uiTestHelper.LoadScreen(5);
818
819 _app.WaitForElement(x => x.Marked("ASDF ASDF "));
820 _app.Tap(x => x.Marked("ASDF ASDF "));
821 _app.WaitForElement(x => x.Marked("FirstName"));
822 _app.Tap(x => x.Marked("FirstName"));
823 _app.EnterText(x => x.Marked("FirstName"), "ggDF");
824 _app.Tap(x => x.Marked("LastName"));
825 _app.EnterText(x => x.Marked("LastName"), "ggdf");
826 _app.Tap(x => x.Marked("AccessCode"));
827 _app.EnterText(x => x.Marked("AccessCode"), "123123");
828
829 _app.Tap(x => x.Marked("Update"));
830 _app.Tap(x => x.Marked("Save"));
831 _app.EnterText("InvalidPassword");
832 _app.Tap(x => x.Marked("OK"));
833 //_app.WaitForElement(x => x.Marked("OK"));
834 //_app.Tap(x => x.Marked("OK"));
835 //_app.Tap(x => x.Marked("OK"));
836 }
837
838 [Test]//Update Authorized Contacts w/ Invalid pass
839 public void DiscardChangesAuthorizedContacts()
840 {
841 uiTestHelper.CaptureScreenshot("AuthorizedContactUpdateWithInvalidPassword Test started.");
842 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
843 LoadUpdateProfilePage();
844
845 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
846 _app.Tap(x => x.Marked("Authorized Contacts"));
847 uiTestHelper.LoadScreen(5);
848
849 _app.WaitForElement(x => x.Marked("ASDF ASDF "));
850 _app.Tap(x => x.Marked("ASDF ASDF "));
851 _app.WaitForElement(x => x.Marked("FirstName"));
852 _app.Tap(x => x.Marked("FirstName"));
853 _app.EnterText(x => x.Marked("FirstName"), "ggDF");
854 _app.Tap(x => x.Marked("LastName"));
855 _app.EnterText(x => x.Marked("LastName"), "ggdf");
856 _app.Tap(x => x.Marked("AccessCode"));
857 _app.EnterText(x => x.Marked("AccessCode"), "123123");
858
859 _app.Tap(x => x.Marked("Update"));
860 _app.Tap(x => x.Marked("Cancel"));
861 _app.Tap(x => x.Marked("OK"));
862 //_app.WaitForElement(x => x.Marked("OK"));
863 //_app.Tap(x => x.Marked("OK"));
864 //_app.Tap(x => x.Marked("OK"));
865 }
866
867 [Test]//Delete Authorized Contacts
868 public void DeleteAuthorizedContact()
869 {
870 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
871 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
872 LoadUpdateProfilePage();
873
874 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
875 _app.Tap(x => x.Marked("Authorized Contacts"));
876 uiTestHelper.LoadScreen(5);
877
878 _app.WaitForElement(x => x.Marked("trashcan.png"));
879 _app.Tap(x => x.Marked("trashcan.png"));
880 //Need a way to hit the trash icon. Specific for list view (Maybe hit the first one?)
881
882 _app.Tap(x => x.Marked("Save"));
883 _app.EnterText(TestConstants.FULL_PW);
884 _app.Tap(x => x.Marked("OK"));
885
886 _app.WaitForElement(x => x.Marked("OK"));
887 _app.Tap(x => x.Marked("OK"));
888 }
889
890 [Test]//Add Authorized Contacts w/ invalid characters
891 public void AuthorizedContactInvalidCharacters()
892 {
893 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
894 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
895 LoadUpdateProfilePage();
896
897 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
898 _app.Tap(x => x.Marked("Authorized Contacts"));
899 uiTestHelper.LoadScreen(5);
900
901 _app.Tap(x => x.Marked("Add"));
902 _app.WaitForElement(x => x.Marked("FirstName"));
903 _app.Tap(x => x.Marked("FirstName"));
904 _app.EnterText(x => x.Marked("FirstName"), "AS#!@#DF");
905 _app.Tap(x => x.Marked("LastName"));
906 _app.EnterText(x => x.Marked("LastName"), "AS#!@#DF");
907 _app.Tap(x => x.Marked("AccessCode"));
908 _app.EnterText(x => x.Marked("AccessCode"), "1asd3#!@123");
909
910 _app.Tap(x => x.Marked("Update"));
911
912 _app.WaitForElement(x => x.Marked("First name is invalid"));
913 _app.WaitForElement(x => x.Marked("Last name is invalid"));
914 _app.WaitForElement(x => x.Marked("Access Code must be 6 to 12 alpha-numeric characters"));
915 }
916
917 [Test]//Add Authorized Contacts w/ blank field
918 public void BlankAuthorizedContact()
919 {
920 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
921 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
922 LoadUpdateProfilePage();
923
924 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
925 _app.Tap(x => x.Marked("Authorized Contacts"));
926 uiTestHelper.LoadScreen(5);
927
928 _app.Tap(x => x.Marked("Add"));
929 _app.Tap(x => x.Marked("Update"));
930
931 _app.WaitForElement(x => x.Marked("First name is invalid"));
932 _app.WaitForElement(x => x.Marked("Last name is invalid"));
933 _app.WaitForElement(x => x.Marked("Access Code must be 6 to 12 alpha-numeric characters"));
934 }
935
936 [Test]//Add Authorized Contacts w/ invalid length
937 public void AuthorizedContactInvalidLength()
938 {
939 uiTestHelper.CaptureScreenshot("ChangePassword Test started.");
940 SetUpdateProfileDefaults(TestConstants.FULL, TestConstants.FULL_PW);
941 LoadUpdateProfilePage();
942
943 _app.WaitForElement(x => x.Marked("Authorized Contacts"));
944 _app.Tap(x => x.Marked("Authorized Contacts"));
945 uiTestHelper.LoadScreen(5);
946
947 _app.Tap(x => x.Marked("Add"));
948 _app.WaitForElement(x => x.Marked("FirstName"));
949 _app.Tap(x => x.Marked("FirstName"));
950 _app.EnterText(x => x.Marked("FirstName"), "ASasdfasdfasdfDF");
951 _app.Tap(x => x.Marked("LastName"));
952 _app.EnterText(x => x.Marked("LastName"), "ASasddasdsdaDF");
953 _app.Tap(x => x.Marked("AccessCode"));
954 _app.EnterText(x => x.Marked("AccessCode"), "12222333333233");
955
956 _app.Tap(x => x.Marked("Update"));
957
958 //_app.Tap(x => x.Marked("Save"));
959 //_app.EnterText(TestConstants.EXPRESS_PW);
960 //_app.Tap(x => x.Marked("OK"));
961
962 //_app.WaitForElement(x => x.Marked("OK"));
963 //_app.Tap(x => x.Marked("OK"));
964 }
965
966 [TearDown]
967 public void TearDown()
968 {
969 _app = null;
970 loginHelper = null;
971 uiTestHelper = null;
972 }
973 }
974}