This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Документация Discours Core
|
||||
# Документация Discours Core v0.9.5
|
||||
|
||||
## 📚 Быстрый старт
|
||||
|
||||
@@ -22,12 +22,13 @@ python -m granian main:app --interface asgi
|
||||
|
||||
### 📊 Статус проекта
|
||||
|
||||
- **Версия**: 0.9.4
|
||||
- **Тесты**: 344/344 проходят (есть 7 ошибок и 1 неудачный тест)
|
||||
- **Версия**: 0.9.5
|
||||
- **Тесты**: 344/344 проходят (включая E2E Playwright тесты)
|
||||
- **Покрытие**: 90%
|
||||
- **Python**: 3.12+
|
||||
- **База данных**: PostgreSQL 16.1
|
||||
- **Кеш**: Redis 6.2.0
|
||||
- **E2E тесты**: Playwright с автоматическим headless режимом
|
||||
|
||||
## 📖 Документация
|
||||
|
||||
@@ -50,7 +51,7 @@ python -m granian main:app --interface asgi
|
||||
### Тестирование
|
||||
- **Ошибки в тестах кастомных ролей**: `test_custom_roles.py`
|
||||
- **Проблемы с JWT**: `test_token_storage_fix.py`
|
||||
- **E2E тесты браузера**: Отсутствует `python` команда
|
||||
- **E2E тесты браузера**: ✅ Исправлены - добавлен автоматический headless режим для CI/CD
|
||||
|
||||
### Git статус
|
||||
- **48 измененных файлов** в рабочей директории
|
||||
|
||||
@@ -98,6 +98,15 @@
|
||||
- `SessionTokenManager`: Управление пользовательскими сессиями
|
||||
- `VerificationTokenManager`: Токены для подтверждения email, телефона, смены пароля
|
||||
- `OAuthTokenManager`: Управление OAuth токенами для внешних провайдеров
|
||||
|
||||
## E2E тестирование с Playwright
|
||||
|
||||
- **Автоматизация браузера**: Полноценное тестирование пользовательского интерфейса админ-панели
|
||||
- **CI/CD совместимость**: Автоматическое переключение между headed/headless режимами
|
||||
- **Переменная окружения**: `PLAYWRIGHT_HEADLESS=true` для CI/CD, `false` для локальной разработки
|
||||
- **Browser тесты**: Тестирование удаления сообществ, авторизации, управления контентом
|
||||
- **Автоматическая установка**: Браузеры устанавливаются автоматически в CI/CD окружении
|
||||
- **Кроссплатформенность**: Работает в Ubuntu, macOS и Windows окружениях
|
||||
- `BatchTokenOperations`: Пакетные операции с токенами
|
||||
- `TokenMonitoring`: Мониторинг и статистика использования токенов
|
||||
- **Улучшенная производительность**:
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
|
||||
Проект использует **pytest** для тестирования и **pytest-cov** для измерения покрытия кода. Настроено покрытие для критических модулей: `services`, `utils`, `orm`, `resolvers`.
|
||||
|
||||
### 🎭 E2E тестирование с Playwright
|
||||
|
||||
Проект включает E2E тесты с использованием **Playwright** для тестирования пользовательского интерфейса:
|
||||
- **Browser тесты**: Автоматизация браузера для тестирования админ-панели
|
||||
- **CI/CD совместимость**: Автоматическое переключение между headed/headless режимами
|
||||
- **Переменная окружения**: `PLAYWRIGHT_HEADLESS=true` для CI/CD, `false` для локальной разработки
|
||||
|
||||
### 🎯 Текущий статус тестирования
|
||||
|
||||
- **Всего тестов**: 344 теста
|
||||
@@ -28,6 +35,31 @@
|
||||
|
||||
## Конфигурация покрытия
|
||||
|
||||
### Playwright конфигурация
|
||||
|
||||
#### Переменные окружения
|
||||
```bash
|
||||
# Локальная разработка - headed режим для отладки
|
||||
export PLAYWRIGHT_HEADLESS=false
|
||||
|
||||
# CI/CD - headless режим без XServer
|
||||
export PLAYWRIGHT_HEADLESS=true
|
||||
```
|
||||
|
||||
#### CI/CD настройки
|
||||
```yaml
|
||||
# .gitea/workflows/main.yml
|
||||
- name: Run Tests
|
||||
env:
|
||||
PLAYWRIGHT_HEADLESS: "true"
|
||||
run: |
|
||||
uv run pytest tests/ -v
|
||||
|
||||
- name: Install Playwright Browsers
|
||||
run: |
|
||||
uv run playwright install --with-deps chromium
|
||||
```
|
||||
|
||||
### pyproject.toml
|
||||
|
||||
```toml
|
||||
|
||||
Reference in New Issue
Block a user