mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-01-15 11:52:23 +01:00
Idea proposed by @sparshy #1204 Suggestions, rules and tests from Trustroots @simison Added validations on user server model Added client side validations Added relevant tests on user server tests Added relevant tests on user e2e tests Fixes #1204
553 lines
26 KiB
JavaScript
553 lines
26 KiB
JavaScript
'use strict';
|
|
|
|
describe('Users E2E Tests:', function () {
|
|
var user1 = {
|
|
firstName: 'test',
|
|
lastName: 'user',
|
|
email: 'test.user@meanjs.com',
|
|
username: 'testUser',
|
|
password: 'P@$$w0rd!!'
|
|
};
|
|
|
|
var user2 = {
|
|
firstName: 'test',
|
|
lastName: 'user2',
|
|
email: 'test.user2@meanjs.com',
|
|
username: 'testUser2',
|
|
password: 'P@$$w0rd!!'
|
|
};
|
|
|
|
var signout = function () {
|
|
// Make sure user is signed out first
|
|
browser.get('http://localhost:3001/authentication/signout');
|
|
// Delete all cookies
|
|
browser.driver.manage().deleteAllCookies();
|
|
};
|
|
|
|
describe('Signup Validation', function () {
|
|
it('Should report missing first name', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// First Name Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('First name is required.');
|
|
});
|
|
|
|
it('Should report missing last name', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Last Name Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Last name is required.');
|
|
});
|
|
|
|
it('Should report missing email address', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is required.');
|
|
});
|
|
|
|
it('Should report invalid email address - "123"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys('123');
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is invalid.');
|
|
});
|
|
|
|
/**
|
|
* Note: 123@123 is a valid email adress according to HTML5.
|
|
* However, 123@123@123 is an invalid email address.
|
|
*/
|
|
it('Should report invalid email address - "123@123@123"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys('123@123@123');
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Email address is invalid.');
|
|
});
|
|
|
|
it('Should report invalid username - ".login"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('.login');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
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.');
|
|
});
|
|
|
|
it('Should report invalid username - "login."', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('login.');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
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.');
|
|
});
|
|
|
|
it('Should report invalid username - "log..in"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('log..in');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
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.');
|
|
});
|
|
|
|
it('Should report invalid username - "lo"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('lo');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
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.');
|
|
});
|
|
|
|
it('Should report invalid username - "log$in"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('log$in');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Email address error
|
|
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.');
|
|
});
|
|
|
|
it('Should signup username with . - "log.in"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys('someemail@meanjs.com');
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys('log.in');
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user2.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Signup successful with username having .
|
|
expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
|
|
|
|
signout();
|
|
});
|
|
|
|
it('Should report missing username', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Username Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Username is required.');
|
|
});
|
|
|
|
it('Should report a password with less than 10 characters long - "P@$$w0rd!"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys('P@$$w0rd!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be at least 10 characters long.');
|
|
});
|
|
|
|
it('Should report a password with greater than 128 characters long.', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
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+');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be fewer than 128 characters.');
|
|
});
|
|
|
|
it('Should report a password with more than 3 or more repeating characters - "P@$$w0rd!!!"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys('P@$$w0rd!!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password may not contain sequences of three or more repeated characters.');
|
|
});
|
|
|
|
it('Should report a password with no uppercase letters - "p@$$w0rd!!"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys('p@$$w0rd!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one uppercase letter.');
|
|
});
|
|
|
|
it('Should report a password with less than one number - "P@$$word!!"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys('P@$$word!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one number.');
|
|
});
|
|
|
|
it('Should report a password with less than one special character - "Passw0rdss"', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys('Passw0rdss');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one special character.');
|
|
});
|
|
|
|
it('Should Successfully register new user', function () {
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter FirstName
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user1.firstName);
|
|
// Enter LastName
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user1.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter UserName
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type="submit"]')).click();
|
|
expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
|
|
});
|
|
|
|
it('Should report Email already exists', function () {
|
|
// Make sure user is signed out first
|
|
signout();
|
|
// Signup
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user1.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user2.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user2.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.message')).get(0).getText()).toBe('Email already exists');
|
|
});
|
|
|
|
it('Should report Username already exists', function () {
|
|
// Signup
|
|
browser.get('http://localhost:3001/authentication/signup');
|
|
// Enter First Name
|
|
element(by.model('vm.credentials.firstName')).sendKeys(user2.firstName);
|
|
// Enter Last Name
|
|
element(by.model('vm.credentials.lastName')).sendKeys(user2.lastName);
|
|
// Enter Email
|
|
element(by.model('vm.credentials.email')).sendKeys(user2.email);
|
|
// Enter Username
|
|
element(by.model('vm.credentials.username')).sendKeys(user1.username);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user2.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.message')).get(0).getText()).toBe('Username already exists');
|
|
});
|
|
|
|
});
|
|
|
|
describe('Signin Validation', function () {
|
|
|
|
it('Should report missing credentials', function () {
|
|
// Make sure user is signed out first
|
|
signout();
|
|
// Sign in
|
|
browser.get('http://localhost:3001/authentication/signin');
|
|
// Click Submit button
|
|
element(by.css('button[type="submit"]')).click();
|
|
// Username Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Username or Email is required.');
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(1).getText()).toBe('Password is required.');
|
|
});
|
|
|
|
it('Verify that the user is logged in', function() {
|
|
// Make sure user is signed out first
|
|
signout();
|
|
// Sign in
|
|
browser.get('http://localhost:3001/authentication/signin');
|
|
// Enter UserName
|
|
element(by.model('vm.credentials.usernameOrEmail')).sendKeys(user1.username);
|
|
// Enter Password
|
|
element(by.model('vm.credentials.password')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type="submit"]')).click();
|
|
expect(browser.getCurrentUrl()).toEqual('http://localhost:3001/');
|
|
});
|
|
|
|
});
|
|
|
|
describe('Change Password Settings Validation', function () {
|
|
|
|
it('Should report missing passwords', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Errors
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Your current password is required.');
|
|
expect(element.all(by.css('.error-text')).get(1).getText()).toBe('Enter a new password.');
|
|
expect(element.all(by.css('.error-text')).get(2).getText()).toBe('Verify your new password.');
|
|
});
|
|
|
|
it('Should report a password with less than 10 characters long - "P@$$w0rd!"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rd!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be at least 10 characters long.');
|
|
});
|
|
|
|
it('Should report a password with greater than 128 characters long.', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
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+');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must be fewer than 128 characters.');
|
|
});
|
|
|
|
it('Should report a password with more than 3 or more repeating characters - "P@$$w0rd!!!"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rd!!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password may not contain sequences of three or more repeated characters.');
|
|
});
|
|
|
|
it('Should report a password with no uppercase letters - "p@$$w0rd!!"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('p@$$w0rd!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one uppercase letter.');
|
|
});
|
|
|
|
it('Should report a password with less than one number - "P@$$word!!"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$word!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one number.');
|
|
});
|
|
|
|
it('Should report a password with less than one special character - "Passw0rdss"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter Invalid Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('Passw0rdss');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Error
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('The password must contain at least one special character.');
|
|
});
|
|
|
|
it('Should report passwords do not match', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter New Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rds!!');
|
|
// Verify New Password
|
|
element(by.model('vm.passwordDetails.verifyPassword')).sendKeys(user1.password);
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Errors
|
|
expect(element.all(by.css('.error-text')).get(0).getText()).toBe('Passwords do not match.');
|
|
});
|
|
|
|
it('Should change the password to - "P@$$w0rds!!"', function () {
|
|
browser.get('http://localhost:3001/settings/password');
|
|
// Enter Current Password
|
|
element(by.model('vm.passwordDetails.currentPassword')).sendKeys(user1.password);
|
|
// Enter New Password
|
|
element(by.model('vm.passwordDetails.newPassword')).sendKeys('P@$$w0rds!!');
|
|
// Verify New Password
|
|
element(by.model('vm.passwordDetails.verifyPassword')).sendKeys('P@$$w0rds!!');
|
|
// Click Submit button
|
|
element(by.css('button[type=submit]')).click();
|
|
// Password Changed
|
|
expect(element.all(by.css('.ui-notification')).get(0).getText()).toBe('Password Changed Successfully');
|
|
});
|
|
});
|
|
});
|