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/); }); });