Почищены reports, добавлены скрипты в package.json
This commit is contained in:
@@ -1,39 +1,24 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import { NewsAdminPage } from '../../../../page-objects/NewsAdminPage';
|
||||||
|
|
||||||
test.describe('Панель администратора — Новости (позитивный сценарий)', () => {
|
test.describe('Панель администратора — Новости (позитивный сценарий)', () => {
|
||||||
test('Успешное добавление новости с изображением', async ({ page }) => {
|
test('Успешное добавление новости с изображением', async ({ page }) => {
|
||||||
// 1. Авторизация как администратор
|
const newsPage = new NewsAdminPage(page);
|
||||||
await page.goto('https://ssas.dev.rdcenter.ru/login/authorization');
|
|
||||||
await page.getByPlaceholder('Email').fill('admin@sfedu.ru');
|
|
||||||
await page.getByPlaceholder('Пароль').fill('dfDk1oQQ6YGV@');
|
|
||||||
await page.getByRole('button', { name: 'Войти', exact: true }).click();
|
|
||||||
|
|
||||||
// 2. Переход в раздел "Панель администратора" → "Новости"
|
// 1. Авторизация и переход в раздел "Новости"
|
||||||
await page.waitForURL('**/');
|
await newsPage.loginAsAdmin();
|
||||||
await page.getByText('Панель администратора').click();
|
await newsPage.goto();
|
||||||
await page.waitForURL('**/adminPage/news');
|
|
||||||
|
|
||||||
// 3. Нажатие кнопки "Добавить новость"
|
// 2. Данные для тестовой новости
|
||||||
await page.getByRole('button', { name: 'Добавить новость' }).click();
|
|
||||||
|
|
||||||
// 4. Заполнение формы
|
|
||||||
const title = `Тестовая новость ${Date.now()}`;
|
const title = `Тестовая новость ${Date.now()}`;
|
||||||
const content = 'Это автотестовая новость для проверки добавления.';
|
const content = 'Это автотестовая новость для проверки добавления.';
|
||||||
const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
|
const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
|
||||||
|
|
||||||
await page.getByPlaceholder('Заголовок').fill(title);
|
// 3. Добавление новости
|
||||||
await page.getByPlaceholder('Текст новости').fill(content);
|
await newsPage.addNews({ title, content, imagePath });
|
||||||
|
|
||||||
// 5. Загрузка изображения
|
// 4. Проверка, что новость появилась в таблице
|
||||||
const fileInput = await page.locator('input[type="file"]');
|
await expect(newsPage.newsTable).toContainText(title);
|
||||||
await fileInput.setInputFiles(imagePath);
|
|
||||||
await page.getByRole('button', { name: 'Сохранить' }).click();
|
|
||||||
|
|
||||||
// 6. Нажатие на кнопку "Добавить"
|
|
||||||
await page.getByRole('button', { name: 'Добавить' }).click();
|
|
||||||
|
|
||||||
// 7. Проверка, что новость появилась в списке
|
|
||||||
await expect(page.locator('table')).toContainText(title);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user