Files
playwright-tests-ssas/tests/ui/recovery/recover-negative.spec.ts

68 lines
2.6 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { RecoverPage } from '../../../page-objects/RecoverPage';
import { recovery, recoveryErrors, users } from '../../../utils/test-data';
test.describe('Негативные сценарии восстановления пароля', () => {
test('Некорректный email (формат)', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail('invalid-email');
await expect(recoverPage.emailFormatError).toBeVisible();
});
test('Несуществующий email', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail(recovery.emailNotFound);
await expect(recoverPage.emailFormatError).toBeVisible(); // сервер показывает ту же ошибку
});
test('Неверный код подтверждения', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail(recovery.emailExists);
await expect(page).toHaveURL(/\/recoverpassword\/checkemail/);
await recoverPage.enterVerificationCode('654321'); // неверный
await expect(recoverPage.codeError).toBeVisible();
});
test('Некорректный новый пароль', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail(recovery.emailExists);
await recoverPage.enterVerificationCode(recovery.verificationCode);
await recoverPage.enterNewPassword(users.newPassword.weakPassword, users.newPassword.weakPassword);
await expect(recoverPage.passwordError).toBeVisible();
});
test('Пустое поле "Повторите пароль"', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail(recovery.emailExists);
await recoverPage.enterVerificationCode(recovery.verificationCode);
await recoverPage.enterNewPassword(users.newPassword.password, '');
await expect(recoverPage.passwordRepeatError).toBeVisible();
});
test('Пароли не совпадают', async ({ page }) => {
const recoverPage = new RecoverPage(page);
await recoverPage.goto();
await recoverPage.enterEmail(recovery.emailExists);
await recoverPage.enterVerificationCode(recovery.verificationCode);
await recoverPage.enterNewPassword(users.newPassword.password, users.newPassword.mismatchPassword);
await expect(recoverPage.mismatchPasswordError).toBeVisible();
});
});