Skip to content

Быстрый старт ​

Эта страница поможет быстро начать работу с E2E тестами.

Требования ​

Перед началом работы убедитесь, что у вас установлены:

  • Node.js 22 или выше
  • pnpm 10 или выше
  • Doppler CLI (для генерации окружения)
bash
node --version   # должен быть >= 22
pnpm --version   # должен быть >= 10
doppler --version

Установка ​

1. Клонирование репозитория ​

bash
git clone <repository-url>
cd platform-e2e

2. Установка зависимостей ​

bash
pnpm install

Важно

Проект использует pnpm как единственный пакетный менеджер. Использование npm или yarn заблокировано через preinstall hook.

3. Генерация переменных окружения ​

Проект использует Doppler для управления секретами. Сгенерируйте environment файлы:

bash
pnpm generate:env -- local   # Для локального окружения
pnpm generate:env -- dev     # Для dev окружения
pnpm generate:env -- prod    # Для production окружения

Важно

Этот шаг обязателен перед первым запуском. Без генерации environment.ts тесты не запустятся.

Необходимые секреты в Doppler:

СекретОписание
API_BASE_URLURL API сервера (например, http://localhost:3000)
CLIENT_BASE_URLURL клиентского приложения (например, http://localhost:4200)
TEST_USER_EMAILEmail тестового пользователя
TEST_USER_PASSWORDПароль тестового пользователя
ADMIN_USER_EMAILEmail администратора
ADMIN_USER_PASSWORDПароль администратора

4. Установка Playwright браузеров ​

bash
pnpm exec playwright install chromium

5. Запуск тестов ​

bash
pnpm test

Быстрый старт (все команды) ​

bash
git clone <repository-url>
cd platform-e2e
pnpm install
pnpm generate:env -- local
pnpm exec playwright install chromium
pnpm test

Основные команды ​

Тестирование ​

bash
pnpm test              # Все тесты
pnpm test:api          # Только API тесты (без браузера)
pnpm test:client       # Только Client тесты (браузер)
pnpm test:headed       # С видимым браузером
pnpm test:debug        # Debug-режим (Playwright Inspector)
pnpm test:ui           # UI-режим Playwright
pnpm test:report       # Открыть HTML-отчет

Качество кода ​

bash
pnpm lint              # ESLint проверка
pnpm lint:fix          # ESLint с автоисправлением
pnpm format            # Prettier форматирование
pnpm format:check      # Prettier проверка
pnpm typecheck         # TypeScript проверка (tsc --noEmit)

Документация ​

bash
pnpm docs:dev          # Dev-сервер документации
pnpm docs:build        # Сборка документации
pnpm docs:preview      # Превью сборки

Структура проекта ​

platform-e2e/
├── tests/
│   ├── setup/            # Auth setup (browser login, storageState)
│   ├── fixtures/         # Кастомные Playwright фикстуры
│   ├── helpers/          # Утилиты для валидации ответов API
│   ├── api/              # API тесты (32 файла, без браузера)
│   └── client/           # Browser тесты (14 файлов)
├── src/
│   └── environments/     # Конфигурация окружений (gitignored)
├── scripts/              # Утилитарные скрипты
├── docs/                 # Документация (VitePress)
├── playwright.config.ts  # Конфигурация Playwright
├── eslint.config.mjs     # ESLint flat config
├── tsconfig.json         # TypeScript конфигурация
└── package.json          # Dependencies и скрипты

Что дальше? ​

Platform E2E Test Documentation