# Test info

- Name: Негативные сценарии регистрации >> Слишком длинное название организации
- Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/registration/register.negative.spec.ts:48:7

# Error details

```
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()

Locator: getByText('Некорректное название организации!')
Expected: visible
Received: <element(s) not found>
Call log:
  - expect.toBeVisible with timeout 5000ms
  - waiting for getByText('Некорректное название организации!')

    at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/registration/register.negative.spec.ts:67:72
```

# Page snapshot

```yaml
- main:
  - main:
    - button
    - button "Скрыть Close":
      - text: Скрыть
      - img "Close"
    - list:
      - listitem:
        - text: Главная
        - img "Arrow"
      - listitem:
        - text: Автору
        - img "Arrow"
      - listitem:
        - text: Новости
        - img "Arrow"
      - listitem:
        - text: Участники
        - img "Arrow"
      - listitem:
        - text: Оргкомитет
        - img "Arrow"
    - paragraph: 19.06.2025
    - paragraph: Этап
    - img "Logo"
    - paragraph: Добро пожаловать
    - paragraph: Зарегистрируйтесь, чтобы начать работу.
    - textbox "Имя*": Иван
    - text: Имя*
    - textbox "Фамилия*": Иванов
    - text: Фамилия*
    - textbox "Отчество"
    - textbox "Учёное звание*": Доцент
    - img "img"
    - text: Учёное звание*
    - textbox "Учёная степень*": Кандидат наук
    - img "img"
    - text: Учёная степень*
    - textbox "Должность": Преподаватель
    - text: Должность
    - textbox "Организация*": ООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООО
    - text: Организация*
    - textbox "Email (логин)*": test1750252524321@example.com
    - text: Email (логин)*
    - textbox "Номер телефона*": +7 (999) 197-79-6
    - text: Некорректный номер
    - img "!"
    - img "показать пароль"
    - textbox "Придумайте пароль*": "!Test123"
    - text: Придумайте пароль*
    - img "показать пароль"
    - textbox "Повторите пароль*": "!Test123"
    - text: Повторите пароль*
    - paragraph: ИЛИ
    - button "Sfedu Logo Войти через аккаунт @sfedu":
      - img "Sfedu Logo"
      - text: Войти через аккаунт @sfedu
    - button "Зарегистрироваться"
    - paragraph: Уже есть аккаунт?
    - paragraph: Авторизируйтесь
  - paragraph: Всероссийская научная конференция "Системный синтез и прикладная синергетика"
  - paragraph: 19 - 26 июня 2025 года Таганрог
  - paragraph: "Напишите нам:"
  - paragraph:
    - text: "e-mail:"
    - link "ssas@ictis.sfedu.ru":
      - /url: mailto:ssas@ictis.sfedu.ru
  - text: Сайт разработан Центром исследований и разработки ИКТИБ
  - link "Ознакомиться с руководством пользователя":
    - /url: /static/media/user_manual.f1df94e2c5143919fb0d.pdf
```

# Test source

```ts
   1 | import { test, expect } from '@playwright/test';
   2 | import { RegisterPage } from '../../../page-objects/RegisterPage';
   3 |
   4 | test.describe('Негативные сценарии регистрации', () => {
   5 |
   6 |   test('Отправка пустой формы', async ({ page }) => {
   7 |     const registerPage = new RegisterPage(page);
   8 |     await registerPage.goto();
   9 |     await registerPage.submit();
  10 |
  11 |     const requiredErrors = await page.locator('div[name="error"]', { hasText: 'Поле обязательно для заполнения' }).allTextContents();
  12 |     expect(requiredErrors.length).toBeGreaterThan(0);
  13 |     await expect(page.getByText('Не менее 8 символов')).toBeVisible(); // пароль
  14 |   });
  15 |
  16 |   test('Некорректное имя и фамилия (слишком длинные)', async ({ page }) => {
  17 |     const registerPage = new RegisterPage(page);
  18 |     await registerPage.goto();
  19 |
  20 |     await registerPage.fillName('А'.repeat(51));
  21 |     await registerPage.fillSurname('Б'.repeat(51));
  22 |     await registerPage.submit();
  23 |
  24 |     await expect(page.getByText('Некорректное имя')).toBeVisible();
  25 |     await expect(page.getByText('Некорректная фамилия')).toBeVisible();
  26 |   });
  27 |
  28 |   test('Некорректный email формат', async ({ page }) => {
  29 |     const registerPage = new RegisterPage(page);
  30 |     await registerPage.goto();
  31 |
  32 |     await registerPage.fillEmail('invalid-email');
  33 |     await registerPage.submit();
  34 |
  35 |     await expect(page.getByText('Некорректный Email')).toBeVisible();
  36 |   });
  37 |
  38 |   test('Слишком длинная должность', async ({ page }) => {
  39 |     const registerPage = new RegisterPage(page);
  40 |     await registerPage.goto();
  41 |
  42 |     await registerPage.fillPosition('X'.repeat(201));
  43 |     await registerPage.submit();
  44 |
  45 |     await expect(page.getByText('Не более 200 символов!')).toBeVisible();
  46 |   });
  47 |
  48 |   test('Слишком длинное название организации', async ({ page }) => {
  49 |     const registerPage = new RegisterPage(page);
  50 |     await registerPage.goto();
  51 |
  52 |     // Заполнить все поля валидно, кроме организации
  53 |     await registerPage.register({
  54 |       name: 'Иван',
  55 |       surname: 'Иванов',
  56 |       patronymic: '',
  57 |       academicTitle: 'Доцент',
  58 |       degree: 'Кандидат наук',
  59 |       position: 'Преподаватель',
  60 |       organization: 'О'.repeat(201),
  61 |       email: `test${Date.now()}@example.com`,
  62 |       phone: `+7999${Math.floor(Math.random() * 1000000).toString().padStart(6, '0')}`,
  63 |       password: '!Test123',
  64 |       confirmPassword: '!Test123'
  65 |     });
  66 |
> 67 |     await expect(page.getByText('Некорректное название организации!')).toBeVisible();
     |                                                                        ^ Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  68 |   });
  69 |
  70 | });
  71 |
```