PageRenderTime 37ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 1ms

/modules/users/tests/e2e/users.e2e.tests.js

https://bitbucket.org/mansoorali0707/sample
JavaScript | 552 lines | 402 code | 24 blank | 126 comment | 0 complexity | ba64f1ca5fd9efd357fd97a3e824aad7 MD5 | raw file
  1. 'use strict';
  2. describe('Users E2E Tests:', function () {
  3. var user1 = {
  4. firstName: 'test',
  5. lastName: 'user',
  6. email: 'test.user@meanjs.com',
  7. username: 'testUser',
  8. password: 'P@$$w0rd!!'
  9. };
  10. var user2 = {
  11. firstName: 'test',
  12. lastName: 'user2',
  13. email: 'test.user2@meanjs.com',
  14. username: 'testUser2',
  15. password: 'P@$$w0rd!!'
  16. };
  17. var signout = function () {
  18. // Make sure user is signed out first
  19. browser.get('http://localhost:3001/authentication/signout');
  20. // Delete all cookies
  21. browser.driver.manage().deleteAllCookies();
  22. };
  23. describe('Signup Validation', function () {
  24. it('Should report missing first name', function () {
  25. browser.get('http://localhost:3001/authentication/signup');
  26. // Enter Last Name
  27. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  28. // Enter Email
  29. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  30. // Enter Username
  31. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  32. // Enter Password
  33. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  34. // Click Submit button
  35. element(by.css('button[type=submit]')).click();
  36. // First Name Error
  37. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('First name is required.');
  38. });
  39. it('Should report missing last name', function () {
  40. browser.get('http://localhost:3001/authentication/signup');
  41. // Enter First Name
  42. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  43. // Enter Email
  44. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  45. // Enter Username
  46. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  47. // Enter Password
  48. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  49. // Click Submit button
  50. element(by.css('button[type=submit]')).click();
  51. // Last Name Error
  52. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Last name is required.');
  53. });
  54. it('Should report missing email address', function () {
  55. browser.get('http://localhost:3001/authentication/signup');
  56. // Enter First Name
  57. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  58. // Enter Last Name
  59. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  60. // Enter Username
  61. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  62. // Enter Password
  63. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  64. // Click Submit button
  65. element(by.css('button[type=submit]')).click();
  66. // Email address error
  67. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is required.');
  68. });
  69. it('Should report invalid email address - "123"', function () {
  70. browser.get('http://localhost:3001/authentication/signup');
  71. // Enter First Name
  72. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  73. // Enter Last Name
  74. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  75. // Enter Email
  76. element(by.model('vm.credentials.email')).sendKeys('123');
  77. // Enter Username
  78. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  79. // Enter Password
  80. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  81. // Click Submit button
  82. element(by.css('button[type=submit]')).click();
  83. // Email address error
  84. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is invalid.');
  85. });
  86. /**
  87. * Note: 123@123 is a valid email adress according to HTML5.
  88. * However, 123@123@123 is an invalid email address.
  89. */
  90. it('Should report invalid email address - "123@123@123"', function () {
  91. browser.get('http://localhost:3001/authentication/signup');
  92. // Enter First Name
  93. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  94. // Enter Last Name
  95. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  96. // Enter Email
  97. element(by.model('vm.credentials.email')).sendKeys('123@123@123');
  98. // Enter Username
  99. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  100. // Enter Password
  101. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  102. // Click Submit button
  103. element(by.css('button[type=submit]')).click();
  104. // Email address error
  105. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is invalid.');
  106. });
  107. it('Should report invalid username - ".login"', function () {
  108. browser.get('http://localhost:3001/authentication/signup');
  109. // Enter First Name
  110. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  111. // Enter Last Name
  112. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  113. // Enter Email
  114. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  115. // Enter Username
  116. element(by.model('vm.credentials.username')).sendKeys('.login');
  117. // Enter Password
  118. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  119. // Click Submit button
  120. element(by.css('button[type=submit]')).click();
  121. // Email address error
  122. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.');
  123. });
  124. it('Should report invalid username - "login."', function () {
  125. browser.get('http://localhost:3001/authentication/signup');
  126. // Enter First Name
  127. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  128. // Enter Last Name
  129. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  130. // Enter Email
  131. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  132. // Enter Username
  133. element(by.model('vm.credentials.username')).sendKeys('login.');
  134. // Enter Password
  135. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  136. // Click Submit button
  137. element(by.css('button[type=submit]')).click();
  138. // Email address error
  139. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.');
  140. });
  141. it('Should report invalid username - "log..in"', function () {
  142. browser.get('http://localhost:3001/authentication/signup');
  143. // Enter First Name
  144. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  145. // Enter Last Name
  146. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  147. // Enter Email
  148. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  149. // Enter Username
  150. element(by.model('vm.credentials.username')).sendKeys('log..in');
  151. // Enter Password
  152. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  153. // Click Submit button
  154. element(by.css('button[type=submit]')).click();
  155. // Email address error
  156. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.');
  157. });
  158. it('Should report invalid username - "lo"', function () {
  159. browser.get('http://localhost:3001/authentication/signup');
  160. // Enter First Name
  161. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  162. // Enter Last Name
  163. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  164. // Enter Email
  165. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  166. // Enter Username
  167. element(by.model('vm.credentials.username')).sendKeys('lo');
  168. // Enter Password
  169. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  170. // Click Submit button
  171. element(by.css('button[type=submit]')).click();
  172. // Email address error
  173. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.');
  174. });
  175. it('Should report invalid username - "log$in"', function () {
  176. browser.get('http://localhost:3001/authentication/signup');
  177. // Enter First Name
  178. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  179. // Enter Last Name
  180. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  181. // Enter Email
  182. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  183. // Enter Username
  184. element(by.model('vm.credentials.username')).sendKeys('log$in');
  185. // Enter Password
  186. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  187. // Click Submit button
  188. element(by.css('button[type=submit]')).click();
  189. // Email address error
  190. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.');
  191. });
  192. it('Should signup username with . - "log.in"', function () {
  193. browser.get('http://localhost:3001/authentication/signup');
  194. // Enter First Name
  195. element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
  196. // Enter Last Name
  197. element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
  198. // Enter Email
  199. element(by.model('vm.credentials.email')).sendKeys('someemail@meanjs.com');
  200. // Enter Username
  201. element(by.model('vm.credentials.username')).sendKeys('log.in');
  202. // Enter Password
  203. element(by.model('vm.credentials.password')).sendKeys(user2.password);
  204. // Click Submit button
  205. element(by.css('button[type=submit]')).click();
  206. // Signup successful with username having .
  207. expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
  208. signout();
  209. });
  210. it('Should report missing username', function () {
  211. browser.get('http://localhost:3001/authentication/signup');
  212. // Enter First Name
  213. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  214. // Enter Last Name
  215. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  216. // Enter Email
  217. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  218. // Enter Password
  219. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  220. // Click Submit button
  221. element(by.css('button[type=submit]')).click();
  222. // Username Error
  223. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Username is required.');
  224. });
  225. it('Should report a password with less than 10 characters long - "P@$$w0rd!"', function () {
  226. browser.get('http://localhost:3001/authentication/signup');
  227. // Enter First Name
  228. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  229. // Enter Last Name
  230. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  231. // Enter Email
  232. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  233. // Enter Username
  234. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  235. // Enter Invalid Password
  236. element(by.model('vm.credentials.password')).sendKeys('P@$$w0rd!');
  237. // Click Submit button
  238. element(by.css('button[type=submit]')).click();
  239. // Password Error
  240. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be at least 10 characters long.');
  241. });
  242. it('Should report a password with greater than 128 characters long.', function () {
  243. browser.get('http://localhost:3001/authentication/signup');
  244. // Enter First Name
  245. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  246. // Enter Last Name
  247. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  248. // Enter Email
  249. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  250. // Enter Username
  251. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  252. // Enter Invalid Password
  253. element(by.model('vm.credentials.password')).sendKeys(')!/uLT="lh&:`6X!]|15o!$!TJf,.13l?vG].-j],lFPe/QhwN#{Z<[*1nX@n1^?WW-%_.*D)m$toB+N7z}kcN#B_d(f41h%w@0F!]igtSQ1gl~6sEV&r~}~1ub>If1c+');
  254. // Click Submit button
  255. element(by.css('button[type=submit]')).click();
  256. // Password Error
  257. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be fewer than 128 characters.');
  258. });
  259. it('Should report a password with more than 3 or more repeating characters - "P@$$w0rd!!!"', function () {
  260. browser.get('http://localhost:3001/authentication/signup');
  261. // Enter First Name
  262. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  263. // Enter Last Name
  264. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  265. // Enter Email
  266. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  267. // Enter Username
  268. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  269. // Enter Invalid Password
  270. element(by.model('vm.credentials.password')).sendKeys('P@$$w0rd!!!');
  271. // Click Submit button
  272. element(by.css('button[type=submit]')).click();
  273. // Password Error
  274. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password may not contain sequences of three or more repeated characters.');
  275. });
  276. it('Should report a password with no uppercase letters - "p@$$w0rd!!"', function () {
  277. browser.get('http://localhost:3001/authentication/signup');
  278. // Enter First Name
  279. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  280. // Enter Last Name
  281. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  282. // Enter Email
  283. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  284. // Enter Username
  285. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  286. // Enter Invalid Password
  287. element(by.model('vm.credentials.password')).sendKeys('p@$$w0rd!!');
  288. // Click Submit button
  289. element(by.css('button[type=submit]')).click();
  290. // Password Error
  291. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one uppercase letter.');
  292. });
  293. it('Should report a password with less than one number - "P@$$word!!"', function () {
  294. browser.get('http://localhost:3001/authentication/signup');
  295. // Enter First Name
  296. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  297. // Enter Last Name
  298. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  299. // Enter Email
  300. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  301. // Enter Username
  302. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  303. // Enter Invalid Password
  304. element(by.model('vm.credentials.password')).sendKeys('P@$$word!!');
  305. // Click Submit button
  306. element(by.css('button[type=submit]')).click();
  307. // Password Error
  308. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one number.');
  309. });
  310. it('Should report a password with less than one special character - "Passw0rdss"', function () {
  311. browser.get('http://localhost:3001/authentication/signup');
  312. // Enter First Name
  313. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  314. // Enter Last Name
  315. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  316. // Enter Email
  317. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  318. // Enter Username
  319. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  320. // Enter Invalid Password
  321. element(by.model('vm.credentials.password')).sendKeys('Passw0rdss');
  322. // Click Submit button
  323. element(by.css('button[type=submit]')).click();
  324. // Password Error
  325. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one special character.');
  326. });
  327. it('Should Successfully register new user', function () {
  328. browser.get('http://localhost:3001/authentication/signup');
  329. // Enter FirstName
  330. element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
  331. // Enter LastName
  332. element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
  333. // Enter Email
  334. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  335. // Enter UserName
  336. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  337. // Enter Password
  338. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  339. // Click Submit button
  340. element(by.css('button[type="submit"]')).click();
  341. expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
  342. });
  343. it('Should report Email already exists', function () {
  344. // Make sure user is signed out first
  345. signout();
  346. // Signup
  347. browser.get('http://localhost:3001/authentication/signup');
  348. // Enter First Name
  349. element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
  350. // Enter Last Name
  351. element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
  352. // Enter Email
  353. element(by.model('vm.credentials.email')).sendKeys(user1.email);
  354. // Enter Username
  355. element(by.model('vm.credentials.username')).sendKeys(user2.username);
  356. // Enter Invalid Password
  357. element(by.model('vm.credentials.password')).sendKeys(user2.password);
  358. // Click Submit button
  359. element(by.css('button[type=submit]')).click();
  360. // Password Error
  361. expect(element.all(by.css('.message')).get(0).getText()).toBe('Email already exists');
  362. });
  363. it('Should report Username already exists', function () {
  364. // Signup
  365. browser.get('http://localhost:3001/authentication/signup');
  366. // Enter First Name
  367. element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
  368. // Enter Last Name
  369. element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
  370. // Enter Email
  371. element(by.model('vm.credentials.email')).sendKeys(user2.email);
  372. // Enter Username
  373. element(by.model('vm.credentials.username')).sendKeys(user1.username);
  374. // Enter Invalid Password
  375. element(by.model('vm.credentials.password')).sendKeys(user2.password);
  376. // Click Submit button
  377. element(by.css('button[type=submit]')).click();
  378. // Password Error
  379. expect(element.all(by.css('.message')).get(0).getText()).toBe('Username already exists');
  380. });
  381. });
  382. describe('Signin Validation', function () {
  383. it('Should report missing credentials', function () {
  384. // Make sure user is signed out first
  385. signout();
  386. // Sign in
  387. browser.get('http://localhost:3001/authentication/signin');
  388. // Click Submit button
  389. element(by.css('button[type="submit"]')).click();
  390. // Username Error
  391. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Username or Email is required.');
  392. // Password Error
  393. expect(element.all(by.css('.error-text')).get(1).getText()).toBe('Password is required.');
  394. });
  395. it('Verify that the user is logged in', function () {
  396. // Make sure user is signed out first
  397. signout();
  398. // Sign in
  399. browser.get('http://localhost:3001/authentication/signin');
  400. // Enter UserName
  401. element(by.model('vm.credentials.usernameOrEmail')).sendKeys(user1.username);
  402. // Enter Password
  403. element(by.model('vm.credentials.password')).sendKeys(user1.password);
  404. // Click Submit button
  405. element(by.css('button[type="submit"]')).click();
  406. expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
  407. });
  408. });
  409. describe('Change Password Settings Validation', function () {
  410. it('Should report missing passwords', function () {
  411. browser.get('http://localhost:3001/settings/password');
  412. // Click Submit button
  413. element(by.css('button[type=submit]')).click();
  414. // Password Errors
  415. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Your current password is required.');
  416. expect(element.all(by.css('.error-text')).get(1).getText()).toBe('Enter a new password.');
  417. expect(element.all(by.css('.error-text')).get(2).getText()).toBe('Verify your new password.');
  418. });
  419. it('Should report a password with less than 10 characters long - "P@$$w0rd!"', function () {
  420. browser.get('http://localhost:3001/settings/password');
  421. // Enter Current Password
  422. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  423. // Enter Invalid Password
  424. element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rd!');
  425. // Click Submit button
  426. element(by.css('button[type=submit]')).click();
  427. // Password Error
  428. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be at least 10 characters long.');
  429. });
  430. it('Should report a password with greater than 128 characters long.', function () {
  431. browser.get('http://localhost:3001/settings/password');
  432. // Enter Current Password
  433. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  434. // Enter Invalid Password
  435. element(by.model('vm.passwordDetails.newPassword')).sendKeys(')!/uLT="lh&:`6X!]|15o!$!TJf,.13l?vG].-j],lFPe/QhwN#{Z<[*1nX@n1^?WW-%_.*D)m$toB+N7z}kcN#B_d(f41h%w@0F!]igtSQ1gl~6sEV&r~}~1ub>If1c+');
  436. // Click Submit button
  437. element(by.css('button[type=submit]')).click();
  438. // Password Error
  439. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be fewer than 128 characters.');
  440. });
  441. it('Should report a password with more than 3 or more repeating characters - "P@$$w0rd!!!"', function () {
  442. browser.get('http://localhost:3001/settings/password');
  443. // Enter Current Password
  444. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  445. // Enter Invalid Password
  446. element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rd!!!');
  447. // Click Submit button
  448. element(by.css('button[type=submit]')).click();
  449. // Password Error
  450. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password may not contain sequences of three or more repeated characters.');
  451. });
  452. it('Should report a password with no uppercase letters - "p@$$w0rd!!"', function () {
  453. browser.get('http://localhost:3001/settings/password');
  454. // Enter Current Password
  455. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  456. // Enter Invalid Password
  457. element(by.model('vm.passwordDetails.newPassword')).sendKeys('p@$$w0rd!!');
  458. // Click Submit button
  459. element(by.css('button[type=submit]')).click();
  460. // Password Error
  461. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one uppercase letter.');
  462. });
  463. it('Should report a password with less than one number - "P@$$word!!"', function () {
  464. browser.get('http://localhost:3001/settings/password');
  465. // Enter Current Password
  466. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  467. // Enter Invalid Password
  468. element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$word!!');
  469. // Click Submit button
  470. element(by.css('button[type=submit]')).click();
  471. // Password Error
  472. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one number.');
  473. });
  474. it('Should report a password with less than one special character - "Passw0rdss"', function () {
  475. browser.get('http://localhost:3001/settings/password');
  476. // Enter Current Password
  477. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  478. // Enter Invalid Password
  479. element(by.model('vm.passwordDetails.newPassword')).sendKeys('Passw0rdss');
  480. // Click Submit button
  481. element(by.css('button[type=submit]')).click();
  482. // Password Error
  483. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one special character.');
  484. });
  485. it('Should report passwords do not match', function () {
  486. browser.get('http://localhost:3001/settings/password');
  487. // Enter Current Password
  488. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  489. // Enter New Password
  490. element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rds!!');
  491. // Verify New Password
  492. element(by.model('vm.passwordDetails.verifyPassword')).sendKeys(user1.password);
  493. // Click Submit button
  494. element(by.css('button[type=submit]')).click();
  495. // Password Errors
  496. expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Passwords do not match.');
  497. });
  498. it('Should change the password to - "P@$$w0rds!!"', function () {
  499. browser.get('http://localhost:3001/settings/password');
  500. // Enter Current Password
  501. element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
  502. // Enter New Password
  503. element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rds!!');
  504. // Verify New Password
  505. element(by.model('vm.passwordDetails.verifyPassword')).sendKeys('P@$$w0rds!!');
  506. // Click Submit button
  507. element(by.css('button[type=submit]')).click();
  508. // Password Changed
  509. expect(element.all(by.css('.ui-notification')).get(0).getText()).toBe('Password Changed Successfully');
  510. });
  511. });
  512. });