49 lines
2.1 KiB
TypeScript
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);
|
|
});
|
|
|
|
});
|