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 originalTitle = `Оригинальная новость ${Date.now()}`; const originalContent = 'Исходный текст новости для автотеста'; const imagePath = path.resolve(__dirname, '../../../../utils/test-data/image_1mb.png'); await newsPage.addNews({ title: originalTitle, content: originalContent, imagePath }); await expect(newsPage.newsTable).toContainText(originalTitle); // Используем наш PageObject метод для редактирования await newsPage.clickEditButtonForNews(originalTitle); const updatedTitle = `Обновлённая новость ${Date.now()}`; const updatedContent = 'Это обновлённый текст автотеста'; await newsPage.titleTextarea.fill(updatedTitle); await newsPage.contentTextarea.fill(updatedContent); await page.getByRole('button', { name: 'Сохранить' }).click(); await expect(page.locator('tr', { hasText: updatedTitle })).toBeVisible(); }); })