Реализован файл admin-news-update-positive.spec.ts для проверки позитивного сценария обновления новости. Также переименованы файлы с позитивным и негативным сценариями создания новостей для повышения чистоты и читаемости структуры проекта

This commit is contained in:
Vlad Smykov
2025-07-01 18:40:25 +03:00
parent f6eed4bfe8
commit 7550834c4e
22 changed files with 1043 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
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();
await newsPage.addEmptyNews();
await expect(newsPage.emptyTitleError).toBeVisible();
await expect(newsPage.emptyContentError).toBeVisible();
});
test('Попытка ввести больше 100 символов в заголовок и 750 в текст', async ({ page }) => {
const newsPage = new NewsAdminPage(page);
await newsPage.loginAsAdmin();
await newsPage.goto();
await newsPage.addNewsButton.click();
const longTitle = 'A'.repeat(150);
const longContent = 'B'.repeat(1000);
await newsPage.titleTextarea.fill(longTitle);
await newsPage.contentTextarea.fill(longContent);
const titleValue = await newsPage.titleTextarea.inputValue();
const contentValue = await newsPage.contentTextarea.inputValue();
expect(titleValue.length).toBeLessThanOrEqual(100);
expect(contentValue.length).toBeLessThanOrEqual(750);
});
test('Попытка загрузить изображение больше 20 Мб', async ({ page }) => {
const newsPage = new NewsAdminPage(page);
await newsPage.loginAsAdmin();
await newsPage.goto();
await newsPage.addNewsButton.click();
const largeImagePath = path.resolve(__dirname, '../../../../utils/test-data/image_45mb.png');
await newsPage.fileInput.setInputFiles(largeImagePath);
// Проверка на появление ошибки о превышении размера
await expect(page.getByText('Размер файла превышает')).toBeVisible();
});
});