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/);
});
