Files
playwright-tests-ssas/tests/ui/admin/news/admin-news-delete.spec.ts

49 lines
2.1 KiB
TypeScript

import { test, expect } from '@playwright/test';
import path from 'path';
import { NewsAdminPage } from '../../../../page-objects/NewsAdminPage';
test.describe('Панель администратора — Новости (удаление)', () => {
test('Удаление новости сразу после создания', async ({ page }) => {
const newsPage = new NewsAdminPage(page);
await newsPage.loginAsAdmin();
await newsPage.goto();
const title = `Новость для удаления ${Date.now()}`;
const content = 'Это текст новости для удаления';
const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
await newsPage.addNews({ title, content, imagePath });
await expect(newsPage.newsTable).toContainText(title);
// Удаляем через таблицу
await newsPage.clickDeleteButtonForNews(title);
// Проверяем, что новость исчезла
await expect(newsPage.newsTable).not.toContainText(title);
});
test('Удаление новости при редактировании', async ({ page }) => {
const newsPage = new NewsAdminPage(page);
await newsPage.loginAsAdmin();
await newsPage.goto();
const title = `Новость для удаления при редактировании ${Date.now()}`;
const content = 'Новость для редактирования и последующего удаления';
const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png');
await newsPage.addNews({ title, content, imagePath });
await expect(newsPage.newsTable).toContainText(title);
// Открываем на редактирование
await newsPage.clickEditButtonForNews(title);
// Нажимаем кнопку "Удалить" в форме редактирования
await page.getByRole('button', { name: 'Удалить' }).click();
// Проверяем, что новости больше нет
await expect(newsPage.newsTable).not.toContainText(title);
});
});