32 lines
1.4 KiB
TypeScript
32 lines
1.4 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 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();
|
|
});
|
|
})
|