7bd186eace
ift-ui/stage-ui гоняют stand/integration против живого API; mock-suite остаётся в CI. Co-authored-by: Cursor <cursoragent@cursor.com>
52 lines
2.2 KiB
TypeScript
52 lines
2.2 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { hasStandCredentials, loginAsStandAdmin } from '../../helpers/standAuth';
|
|
|
|
/**
|
|
* Интеграция UI ↔ admin-api на IFT/stage после деплоя.
|
|
* Без page.route mocks — только живой SPA и API стенда.
|
|
*/
|
|
test.describe('stand integration (live API)', () => {
|
|
test.skip(!hasStandCredentials(), 'SMOKE_ADMIN_* / ADMIN_SUPER_* from stand .env required');
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
await loginAsStandAdmin(page);
|
|
});
|
|
|
|
test('dashboard после login', async ({ page }) => {
|
|
await expect(page.getByTestId('page-dashboard')).toBeVisible();
|
|
});
|
|
|
|
test('audit: страница и таблица без ошибки рендера', async ({ page }) => {
|
|
await page.goto('/audit');
|
|
await expect(page.getByTestId('page-audit')).toBeVisible();
|
|
await expect(page.getByTestId('filter-audit')).toBeVisible();
|
|
await expect(page.getByText(/Ошибка отображения|Minified React error/i)).toHaveCount(0);
|
|
await expect(page.locator('[data-testid="page-audit"] table tbody tr').first()).toBeVisible({
|
|
timeout: 20_000,
|
|
});
|
|
});
|
|
|
|
test('users: список загружается', async ({ page }) => {
|
|
await page.goto('/users');
|
|
await expect(page.getByTestId('page-users')).toBeVisible();
|
|
await expect(page.getByText(/Ошибка отображения|Minified React error/i)).toHaveCount(0);
|
|
});
|
|
|
|
test('admins: superadmin видит список', async ({ page }) => {
|
|
await page.goto('/admins');
|
|
await expect(page.getByTestId('page-admins')).toBeVisible();
|
|
await expect(page.getByTestId('page-forbidden')).toHaveCount(0);
|
|
});
|
|
|
|
test('monitoring: страница загружается', async ({ page }) => {
|
|
await page.goto('/monitoring');
|
|
await expect(page.getByTestId('page-monitoring')).toBeVisible();
|
|
});
|
|
|
|
test('logout', async ({ page }) => {
|
|
await page.getByTestId('menu-user').click();
|
|
await page.getByTestId('btn-logout').click();
|
|
await expect(page.getByTestId('page-login')).toBeVisible();
|
|
});
|
|
});
|