init: базовая структура АТ

This commit is contained in:
Vlad Smykov
2026-01-26 17:50:18 +03:00
commit 2cae137c8c
11 changed files with 916 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
import { test, expect } from '@playwright/test';
import axios from 'axios';
import {
createTempEmail,
waitForConfirmationCode
} from '../../../utils/mailTmApi';
import {
generateFirstName,
generateLastName,
generateMiddleName,
generateLogin,
generatePhone,
} from '../../../utils/userGenerator';
const BASE_URL = 'https://rumc.dev.rdcenter.ru/api';
test('API: регистрация абитуриента + подтверждение почты', async () => {
const { email, token: mailToken } = await createTempEmail();
const surname = generateLastName();
const name = generateFirstName();
const patronymic = generateMiddleName();
const fullName = `${surname} ${name} ${patronymic}`;
const login = generateLogin();
const phone = '+7 (900) 000-00-00';
const registerPayload = {
role: 'APPLICANT',
type: 'INDIVIDUAL',
login,
fullName,
email,
password: '!Test123456',
phone,
approval: true
};
//const registerRes = await axios.post(`${BASE_URL}/auth/register`, registerPayload);
//expect(registerRes.status).toBe(201);
try {
const registerRes = await axios.post(`${BASE_URL}/auth/register`, registerPayload);
expect(registerRes.status).toBe(201);
} catch (error: any) {
console.error('❌ Ошибка регистрации:', error.response?.data || error.message);
throw error;
}
console.log('📬 Ожидание письма с кодом подтверждения...');
const code = await waitForConfirmationCode(mailToken, 60000);
console.log('✅ Код получен:', code);
const confirmPayload = {
email,
code
};
const confirmRes = await axios.post(`${BASE_URL}/auth/confirm`, confirmPayload);
expect(confirmRes.status).toBe(200);
console.log('🎉 Почта подтверждена успешно');
});