Files
playwright-tests-ssas/allure-results/baf4ba96-5158-4652-835a-4ee4ff347f5c-attachment.md

199 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Test info
- Name: Панель администратора — Новости (негативные сценарии редактирования) >> Попытка ввести слишком длинные заголовок и текст при редактировании
- Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-update-negative.spec.ts:29:7
# Error details
```
Error: Timed out 5000ms waiting for expect(locator).toContainText(expected)
Locator: locator('table')
Expected string: "Новость 1751387828068"
Received: <element(s) not found>
Call log:
- expect.toContainText with timeout 5000ms
- waiting for locator('table')
at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-update-negative.spec.ts:39:38
```
# 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"
- listitem:
- text: Оргкомитет
- img "Arrow"
- paragraph: 02.07.2025
- paragraph: Этап
- img
- paragraph: Панель администратора
- list:
- link "Новости":
- /url: /adminPage/news
- listitem:
- img
- text: Новости
- link "Конференция":
- /url: /adminPage/conferences
- listitem:
- img
- text: Конференция
- link "Оргкомитет":
- /url: /adminPage/committee
- listitem:
- img
- text: Оргкомитет
- link "Участники":
- /url: /adminPage/participants
- listitem:
- img
- text: Участники
- link "Оргвзнос":
- /url: /adminPage/payment
- listitem:
- img
- text: Оргвзнос
- link "Архив фото":
- /url: /adminPage/photoalbums
- listitem:
- img
- text: Архив фото
- link "Архив сборников":
- /url: /adminPage/collections
- listitem:
- img
- text: Архив сборников
- link "Организаторы и партнёры":
- /url: /adminPage/organizerspartners
- listitem:
- img
- text: Организаторы и партнёры
- button "Назад Добавление новости":
- img "Назад"
- text: Добавление новости
- text: Заголовок новости
- textbox "Заголовок": Новость 1751387828068
- text: 21/100 Текст новости
- textbox "Текст новости": Текст
- text: Не менее десяти символов. 5/750 Фотография для новости
- img "Фото загруженно"
- button "Удалить файл":
- img "Удалить файл"
- button "Добавить"
- 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.6c3dacbaa294cf625b5b.pdf
```
# Test source
```ts
1 | import { test, expect } from '@playwright/test';
2 | import path from 'path';
3 | import { NewsAdminPage } from '../../../../page-objects/NewsAdminPage';
4 |
5 | test.describe('Панель администратора — Новости (негативные сценарии редактирования)', () => {
6 |
7 | test('Очистка полей при редактировании и сохранение', async ({ page }) => {
8 | const newsPage = new NewsAdminPage(page);
9 | await newsPage.loginAsAdmin();
10 | await newsPage.goto();
11 |
12 | const title = `Новость ${Date.now()}`;
13 | const content = 'Текст для редактирования';
14 | const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
15 |
16 | await newsPage.addNews({ title, content, imagePath });
17 | await expect(newsPage.newsTable).toContainText(title);
18 |
19 | await newsPage.clickEditButtonForNews(title);
20 |
21 | await newsPage.titleTextarea.fill('');
22 | await newsPage.contentTextarea.fill('');
23 | await page.getByRole('button', { name: 'Сохранить' }).click();
24 |
25 | await expect(newsPage.emptyTitleError).toBeVisible();
26 | await expect(newsPage.emptyContentError).toBeVisible();
27 | });
28 |
29 | test('Попытка ввести слишком длинные заголовок и текст при редактировании', async ({ page }) => {
30 | const newsPage = new NewsAdminPage(page);
31 | await newsPage.loginAsAdmin();
32 | await newsPage.goto();
33 |
34 | const title = `Новость ${Date.now()}`;
35 | const content = 'Текст';
36 | const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
37 |
38 | await newsPage.addNews({ title, content, imagePath });
> 39 | await expect(newsPage.newsTable).toContainText(title);
| ^ Error: Timed out 5000ms waiting for expect(locator).toContainText(expected)
40 |
41 | await newsPage.clickEditButtonForNews(title);
42 |
43 | const longTitle = 'A'.repeat(150);
44 | const longContent = 'B'.repeat(1000);
45 |
46 | await newsPage.titleTextarea.fill(longTitle);
47 | await newsPage.contentTextarea.fill(longContent);
48 |
49 | const titleValue = await newsPage.titleTextarea.inputValue();
50 | const contentValue = await newsPage.contentTextarea.inputValue();
51 |
52 | expect(titleValue.length).toBeLessThanOrEqual(100);
53 | expect(contentValue.length).toBeLessThanOrEqual(750);
54 | });
55 |
56 | test('Попытка загрузить изображение больше 20 Мб при редактировании', async ({ page }) => {
57 | const newsPage = new NewsAdminPage(page);
58 | await newsPage.loginAsAdmin();
59 | await newsPage.goto();
60 |
61 | const title = `Новость ${Date.now()}`;
62 | const content = 'Текст';
63 | const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
64 |
65 | await newsPage.addNews({ title, content, imagePath });
66 | await expect(newsPage.newsTable).toContainText(title);
67 |
68 | await newsPage.clickEditButtonForNews(title);
69 |
70 | const largeImagePath = path.resolve(__dirname, '../../../../utils/test-data/image_45mb.png');
71 | await newsPage.fileInput.setInputFiles(largeImagePath);
72 |
73 | await expect(page.getByText('Размер файла превышает')).toBeVisible();
74 | });
75 |
76 | });
77 |
```