53 lines
2.0 KiB
TypeScript
53 lines
2.0 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();
|
||
|
||
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();
|
||
});
|
||
|
||
});
|