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); }); });