salix/e2e/paths/01-salix/05_changePassword.spec.js

81 lines
2.6 KiB
JavaScript
Raw Normal View History

2023-06-05 13:20:07 +00:00
import getBrowser from '../../helpers/puppeteer';
const $ = {
form: 'vn-out-layout form'
};
fdescribe('ChangePassword path', async() => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
});
afterAll(async() => {
await browser.close();
});
const toExpects = [];
async function saveExpets(message, expectMessage, expectState) {
console.log(message);
if (!message) message = await page.waitForSnackbar();
if (expectState)
toExpects.push({value: await page.getState(), expected: toExpects.length + expectState});
if (expectMessage)
toExpects.push({value: message.text, expected: toExpects.length + expectMessage});
}
function expects() {
for (let toExpect of toExpects)
expect(toExpect.expected).toContain(toExpect.value); // eslint-disable-line
}
const oldPassword = 'nightmare';
const newPassword = 'newPass.1234';
describe('Bad login', async() => {
it('should receive an error when the password is expired', async() => {
// 0 Expired login
await saveExpets(await page.doLogin(
'maintenance',
oldPassword
), 'The password has expired, change it from Salix', 'change-password');
// 1 Bad attempt: incorrect current password
await saveExpets(await page.sendForm($.form, {
oldPassword: newPassword,
newPassword: oldPassword,
repeatPassword: oldPassword
}), 'Invalid current password');
// 2 Bad attempt: password not meet requirements
await saveExpets(await page.sendForm($.form, {
oldPassword: oldPassword,
newPassword: oldPassword,
repeatPassword: oldPassword
}), 'Password does not meet requirements');
// 3 Correct attempt: change password
await saveExpets(await page.sendForm($.form, {
oldPassword: oldPassword,
newPassword: newPassword,
repeatPassword: newPassword
}), 'Password updated!', 'login');
// 4 Bad login, old password
await saveExpets(await page.doLogin(
'maintenance',
oldPassword
), 'The password has expired, change it from Salix');
// 5 Correct login, new password
await saveExpets(await page.doLogin(
'maintenance',
newPassword
), null, 'change-password');
expects();
});
});
});