Добавлен файл register.negative.spec проверяющий негативные сценарии раздела Регистрация
This commit is contained in:
70
tests/ui/registration/register.negative.spec.ts
Normal file
70
tests/ui/registration/register.negative.spec.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { RegisterPage } from '../../../page-objects/RegisterPage';
|
||||
|
||||
test.describe('Негативные сценарии регистрации', () => {
|
||||
|
||||
test('Отправка пустой формы', async ({ page }) => {
|
||||
const registerPage = new RegisterPage(page);
|
||||
await registerPage.goto();
|
||||
await registerPage.submit();
|
||||
|
||||
const requiredErrors = await page.locator('div[name="error"]', { hasText: 'Поле обязательно для заполнения' }).allTextContents();
|
||||
expect(requiredErrors.length).toBeGreaterThan(0);
|
||||
await expect(page.getByText('Не менее 8 символов')).toBeVisible(); // пароль
|
||||
});
|
||||
|
||||
test('Некорректное имя и фамилия (слишком длинные)', async ({ page }) => {
|
||||
const registerPage = new RegisterPage(page);
|
||||
await registerPage.goto();
|
||||
|
||||
await registerPage.fillName('А'.repeat(51));
|
||||
await registerPage.fillSurname('Б'.repeat(51));
|
||||
await registerPage.submit();
|
||||
|
||||
await expect(page.getByText('Некорректное имя')).toBeVisible();
|
||||
await expect(page.getByText('Некорректная фамилия')).toBeVisible();
|
||||
});
|
||||
|
||||
test('Некорректный email формат', async ({ page }) => {
|
||||
const registerPage = new RegisterPage(page);
|
||||
await registerPage.goto();
|
||||
|
||||
await registerPage.fillEmail('invalid-email');
|
||||
await registerPage.submit();
|
||||
|
||||
await expect(page.getByText('Некорректный Email')).toBeVisible();
|
||||
});
|
||||
|
||||
test('Слишком длинная должность', async ({ page }) => {
|
||||
const registerPage = new RegisterPage(page);
|
||||
await registerPage.goto();
|
||||
|
||||
await registerPage.fillPosition('X'.repeat(201));
|
||||
await registerPage.submit();
|
||||
|
||||
await expect(page.getByText('Не более 200 символов!')).toBeVisible();
|
||||
});
|
||||
|
||||
test('Слишком длинное название организации', async ({ page }) => {
|
||||
const registerPage = new RegisterPage(page);
|
||||
await registerPage.goto();
|
||||
|
||||
// Заполнить все поля валидно, кроме организации
|
||||
await registerPage.register({
|
||||
name: 'Иван',
|
||||
surname: 'Иванов',
|
||||
patronymic: '',
|
||||
academicTitle: 'Доцент',
|
||||
degree: 'Кандидат наук',
|
||||
position: 'Преподаватель',
|
||||
organization: 'О'.repeat(201),
|
||||
email: `test${Date.now()}@example.com`,
|
||||
phone: `+7999${Math.floor(Math.random() * 1000000).toString().padStart(7, '0')}`,
|
||||
password: '!Test123',
|
||||
confirmPassword: '!Test123'
|
||||
});
|
||||
|
||||
await expect(page.getByText('Некорректное название организации!')).toBeVisible();
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user