headless-tests-ci-fix
Some checks failed
Deploy on push / deploy (push) Failing after 11s

This commit is contained in:
2025-08-12 14:03:56 +03:00
parent 16d911bf1e
commit a2177bc35a
10 changed files with 79 additions and 9 deletions

View File

@@ -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 измененных файлов** в рабочей директории

View File

@@ -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`: Мониторинг и статистика использования токенов
- **Улучшенная производительность**:

View File

@@ -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