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 }) => { // Создаём временный email const { email, token } = await createTempEmail(); const firstName = generateFirstName(); const lastName = generateLastName(); const middleName = generateMiddleName(); const login = generateLogin(); const phone = generatePhone(); const password = '!Test123456'; const registerPage = new RegisterPage(page); await registerPage.goto(); await registerPage.selectGraduateRole(); // Заполняем 1 этап регистрации 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.clickNextButton(); // Заполняем 2 этап: образовательные данные await registerPage.selectDepartment(); await registerPage.selectEducationLevel(); await registerPage.selectSpeciality(); await registerPage.selectProgram(); await registerPage.selectEducationForm(); await registerPage.checkConsentCheckbox(); await registerPage.submitGraduate(); await page.waitForTimeout(5000); await expect(page).toHaveURL(/confirmation-code/); const code = await waitForConfirmationCode(token, 60000); await page.fill('input[name="code"]', code); await page.click('button.RecoverPassword_button__5QDxM'); await expect(page).toHaveURL('https://rumc.dev.rdcenter.ru'); });