38 lines
1.4 KiB
TypeScript
38 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 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);
|
|
|
|
// Используем твой PageObject метод
|
|
await newsPage.searchNews(title);
|
|
|
|
// Проверяем что таблица отфильтровалась и содержит только нужный текст
|
|
await expect(newsPage.newsTable).toContainText(title);
|
|
});
|
|
|
|
test('Поиск по несуществующей строке', async ({ page }) => {
|
|
const newsPage = new NewsAdminPage(page);
|
|
await newsPage.loginAsAdmin();
|
|
await newsPage.goto();
|
|
|
|
await newsPage.searchNews('Такой новости точно нет');
|
|
|
|
await expect(newsPage.noNewsMessage).toBeVisible();
|
|
});
|
|
|
|
|
|
});
|