69 lines
2.6 KiB
TypeScript
69 lines
2.6 KiB
TypeScript
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();
|
||
});
|
||
|
||
});
|