Files
playwright-tests-ssas/tests/ui/registration/register.negative.spec.ts

71 lines
2.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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();
});
});