Files
playwright-tests-ssas/tests/ui/login/login.negative.spec.ts
2025-06-16 13:32:08 +03:00

69 lines
2.6 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 { LoginPage } from '../../../page-objects/LoginPage';
import { users, loginErrors } from '../../../utils/test-data';
test.describe('Негативные сценарии авторизации', () => {
test('Неверный пароль', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login(users.valid.email, users.invalid.wrongPassword);
const passwordError = page.locator('div[name="error"]', { hasText: loginErrors.wrongPassword });
await expect(passwordError).toBeVisible();
});
test('Несуществующий email', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login(users.invalid.wrongEmail, 'anyPassword123');
const loginError = page.locator('div[name="error"]', { hasText: loginErrors.wrongLogin });
await expect(loginError).toBeVisible();
});
test('Оба поля пустые', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login(users.invalid.emptyEmail, users.invalid.emptyPassword);
await expect(page.locator('div[name="error"]', { hasText: loginErrors.emptyEmail })).toBeVisible();
await expect(page.locator('div[name="error"]', { hasText: loginErrors.emptyPassword })).toBeVisible();
});
test('Только email без пароля', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login(users.valid.email, users.invalid.emptyPassword);
await expect(page.locator('div[name="error"]', { hasText: loginErrors.emptyPassword })).toBeVisible();
});
test('Некорректный формат email', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.emailInput.fill(users.invalid.malformedEmail);
await loginPage.passwordInput.fill('anyPassword123');
await loginPage.loginButton.click();
const emailFormatError = page.locator('div[name="error"]', { hasText: loginErrors.malformedEmail });
await expect(emailFormatError).toBeVisible();
});
test('Регистр в email (User@test.com ≠ user@test.com)', async ({ page }) => {
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login(users.invalid.upperCaseEmail, users.valid.password);
const loginError = page.locator('div[name="error"]', { hasText: loginErrors.wrongLogin });
await expect(loginError).toBeVisible();
});
});