30 lines
1.3 KiB
TypeScript
30 lines
1.3 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { installAdminApiMocks, MOCK_ADMIN } from '../mocks/adminApi';
|
|
|
|
test.describe('auth / login (mock)', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await installAdminApiMocks(page);
|
|
});
|
|
|
|
test('успешный вход ведёт на dashboard', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await expect(page.getByTestId('page-login')).toBeVisible();
|
|
|
|
await page.getByLabel(/email/i).fill(MOCK_ADMIN.email);
|
|
await page.getByLabel(/пароль|password/i).fill('e2e-pass');
|
|
await page.getByRole('button', { name: /войти|log in|sign in/i }).click();
|
|
|
|
await expect(page).toHaveURL(/\/dashboard/);
|
|
await expect(page.getByTestId('page-dashboard')).toBeVisible();
|
|
});
|
|
|
|
test('неверный пароль показывает ошибку', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await page.getByLabel(/email/i).fill(MOCK_ADMIN.email);
|
|
await page.getByLabel(/пароль|password/i).fill('wrong');
|
|
await page.getByTestId('btn-login').click();
|
|
await expect(page.getByText(/неверный email или пароль|invalid/i)).toBeVisible();
|
|
await expect(page).toHaveURL(/\/login/);
|
|
});
|
|
});
|