Добавлены NewsAdminPage с описанием раздела Новости и admin-news-positive.spec с позитивным сценарием

This commit is contained in:
Vlad Smykov
2025-06-19 18:26:55 +03:00
parent 66f60f10e9
commit 88944c729f
40 changed files with 2110 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
# Test info
- Name: Панель администратора — Новости (позитивный сценарий) >> Успешное добавление новости с изображением
- Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-positive.spec.ts:5:7
# Error details
```
Error: locator.fill: Target page, context or browser has been closed
Call log:
- waiting for getByPlaceholder('Email')
at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-positive.spec.ts:8:42
```
# Test source
```ts
1 | import { test, expect } from '@playwright/test';
2 | import path from 'path';
3 |
4 | test.describe('Панель администратора — Новости (позитивный сценарий)', () => {
5 | test('Успешное добавление новости с изображением', async ({ page }) => {
6 | // 1. Авторизация как администратор
7 | await page.goto('https://ssas.dev.rdcenter.ru/login');
> 8 | await page.getByPlaceholder('Email').fill('admin@sfedu.ru');
| ^ Error: locator.fill: Target page, context or browser has been closed
9 | await page.getByPlaceholder('Пароль').fill('dfDk1oQQ6YGV@');
10 | await page.getByRole('button', { name: 'Войти' }).click();
11 |
12 | // 2. Переход в раздел "Панель администратора" → "Новости"
13 | await page.waitForURL('**/main');
14 | await page.getByRole('link', { name: 'Панель администратора' }).click();
15 | await page.waitForURL('**/adminPage/news');
16 |
17 | // 3. Нажатие кнопки "Добавить новость"
18 | await page.getByRole('button', { name: 'Добавить новость' }).click();
19 |
20 | // 4. Заполнение формы
21 | const title = `Тестовая новость ${Date.now()}`;
22 | const content = 'Это автотестовая новость для проверки добавления.';
23 | const imagePath = path.resolve(__dirname, '../../../test-data/image_1mb.png');
24 |
25 | await page.getByPlaceholder('Заголовок').fill(title);
26 | await page.getByPlaceholder('Текст новости').fill(content);
27 |
28 | // 5. Загрузка изображения
29 | const fileInput = await page.locator('input[type="file"]');
30 | await fileInput.setInputFiles(imagePath);
31 |
32 | // 6. Нажатие на кнопку "Добавить"
33 | await page.getByRole('button', { name: 'Добавить' }).click();
34 |
35 | // 7. Проверка, что новость появилась в списке
36 | await expect(page.locator('table')).toContainText(title);
37 | });
38 | });
39 |
```