// Позитивный тест регистрации организации // Включает в себя: // Ввод валидных тестовых данных // Получение кода в письме // Ввод кода из письма (is_confirm) // Переход на главную (через модальное окно) import { test, expect } from '@playwright/test'; import { RegisterPage } from '../../../page-objects/RegisterPage'; import { generateFirstName, generateLastName, generateMiddleName, generateLogin, generatePhone, generateKPP, generateINN, generateShortOrgName, generateFullOrgName } 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 surname = generateLastName(); const name = generateFirstName(); const patronymic = generateMiddleName(); const directorFIO = `${surname} ${name} ${patronymic}`; const login = generateLogin(); const phone = generatePhone(); const password = '!Test123456'; const shortName = generateShortOrgName(); const fullName = generateFullOrgName(); const address = 'г. Таганрог, ул. Тестовая, д. 1'; const kpp = generateKPP(); const inn = generateINN(); const site = 'https://test-org.ru'; const description = 'Абсолютно неуникальное тестовое описание'; const position = 'Генеральный директор'; const basis = 'закона'; const tg = 'https://t.me/test_user'; const vk = 'https://vk.com/test_user'; await registerPage.goto(); await registerPage.selectRole('Организация'); //Первый этап регистраци await registerPage.fillLogin(login); await registerPage.fillEmail(email); await registerPage.fillPassword(password); await registerPage.fillPasswordRepeat(password); await registerPage.clickNextButton(); //Второй этап регистрации await registerPage.fillShortName(shortName); await registerPage.fillFullName(fullName); await registerPage.fillAddress(address); await registerPage.fillKPP(kpp); await registerPage.fillINN(inn); await registerPage.fillSite(site); await registerPage.fillPhone(phone); await registerPage.fillDescription(description); await registerPage.clickNextButtonOrg(); //Третий этап регистрации await registerPage.fillDirectorFIO(directorFIO); await registerPage.fillPosition(position); await registerPage.fillBasis(basis); await registerPage.fillTelegram(tg); await registerPage.fillVK(vk); await registerPage.checkConsentCheckbox(); await registerPage.submitGeneral(); 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 registerPage.expectSuccessModal(); await expect(page).toHaveURL('https://rumc.dev.rdcenter.ru'); });