56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
// Позитивный тест регистрации абитуриента
|
||
// Включает в себя:
|
||
// Ввод валидных тестовых данных
|
||
// Получение кода в письме
|
||
// Ввод кода из письма (is_confirm)
|
||
// Переход на главную
|
||
|
||
import { test, expect } from '@playwright/test';
|
||
import { RegisterPage } from '../../../page-objects/RegisterPage';
|
||
import {
|
||
generateFirstName,
|
||
generateLastName,
|
||
generateMiddleName,
|
||
generateLogin,
|
||
generatePhone,
|
||
} from '../../../utils/userGenerator';
|
||
import {
|
||
createTempEmail,
|
||
waitForConfirmationCode
|
||
} from '../../../utils/mailTmApi';
|
||
|
||
test('Полная регистрация абитуриента с подтверждением почты', async ({ page }) => {
|
||
await new Promise(r => setTimeout(r, 3000));
|
||
const registerPage = new RegisterPage(page);
|
||
|
||
const { email, token } = await createTempEmail();
|
||
|
||
const firstName = generateFirstName();
|
||
const lastName = generateLastName();
|
||
const middleName = generateMiddleName();
|
||
const login = generateLogin();
|
||
const phone = generatePhone();
|
||
const password = '!Test123456';
|
||
|
||
await registerPage.goto();
|
||
await registerPage.fillLastName(lastName);
|
||
await registerPage.fillFirstName(firstName);
|
||
await registerPage.fillMiddleName(middleName);
|
||
await registerPage.fillEmail(email);
|
||
await registerPage.fillLogin(login);
|
||
await registerPage.fillPhone(phone);
|
||
await registerPage.fillPassword(password);
|
||
await registerPage.fillPasswordRepeat(password);
|
||
await registerPage.checkConsentCheckbox();
|
||
await registerPage.submit();
|
||
|
||
await expect(page).toHaveURL(/confirmation-code/);
|
||
const code = await waitForConfirmationCode(email, token, 'register', 60000);
|
||
|
||
await page.fill('input[name="code"]', code);
|
||
await page.click('button.RecoverPassword_button__5QDxM');
|
||
|
||
await expect(page).toHaveURL('https://rumc.dev.rdcenter.ru');
|
||
|
||
});
|