Files
at-digitaltwin/tests/ui/account/profile-applicant.spec.ts

44 lines
1.8 KiB
TypeScript

import { test, expect } from '@playwright/test';
import fs from 'fs';
import path from 'path';
import { LoginPage } from '../../../page-objects/LoginPage';
import { ProfileApplicantPage } from '../../../page-objects/UsersAccount/ProfileApplicantPage';
test('UI: Личный кабинет абитуриента — заполнение профиля', async ({ page }) => {
const user = JSON.parse(fs.readFileSync('temp/user.json', 'utf-8'));
const loginPage = new LoginPage(page);
const profilePage = new ProfileApplicantPage(page);
// Авторизация
await loginPage.goto();
await loginPage.fillLogin(user.login);
await loginPage.fillPassword(user.password);
await loginPage.submit();
await expect(page).toHaveURL(/.*\/account\/profile/);
// Открытие редактирования базовой информации
await profilePage.goto();
await profilePage.openBasicInfoEditor();
await profilePage.uploadAvatar(path.resolve('fixtures', 'avatar.png')); // добавь этот файл в проект
await profilePage.fillCity('Таганрог');
await profilePage.saveBasicInfo();
// Редактирование представителя
await profilePage.openRepresentativeEditor();
await profilePage.fillRepresentative(
'Мать',
'Иванова Мария Петровна',
'+7 (900) 123-45-67'
);
await profilePage.saveRepresentative();
// Редактирование инвалидности
await profilePage.openDisabilityEditor();
await profilePage.selectDisability('Нарушение слуха');
await profilePage.selectDisabilityGroup('I группа');
await profilePage.saveDisabilityInfo();
// Проверка, что остались на профиле
await expect(page).toHaveURL(/.*\/account\/profile/);
});