### 🚀 CI/CD и E2E тестирование - **Исправлен Playwright headless режим в CI/CD**: Добавлена переменная окружения `PLAYWRIGHT_HEADLESS=true` для корректного запуска E2E тестов в CI/CD окружении без XServer - **Автоматическое переключение режимов**: Все Playwright тесты автоматически переключаются между headed (локально) и headless (CI/CD) режимами - **Установка браузеров Playwright в CI/CD**: Добавлен шаг для установки необходимых браузеров в CI/CD окружении - **Сборка фронтенда в CI/CD**: Добавлены шаги для установки Node.js зависимостей и сборки фронтенда перед запуском E2E тестов - **Условная загрузка статических файлов**: Бэкенд корректно обрабатывает отсутствие директории `dist/assets` в CI/CD окружении ### 🔧 Исправления тестов - **Исправлена ошибка pytest с TestModel**: Убран `__init__` конструктор из тестового класса `TestModel` в `test_db_coverage.py` - **Централизованная конфигурация URL**: Создана фикстура `frontend_url` с автоматическим определением доступности фронтенда - **Автоматическое переключение портов**: Тесты автоматически используют порт 8000 (бэкенд) если фронтенд на порту 3000 недоступен - **Исправлены все localhost:3000 в тестах**: Все тесты теперь используют динамическую фикстуру вместо жестко закодированных URL ### 🐛 Критические исправления - **Устранена бесконечная рекурсия в CommunityAuthor**: Исправлены методы `get_users_with_role`, `get_community_stats` и `get_user_communities_with_roles` - **Исправлено зависание CI/CD на 29% тестов**: Проблема была вызвана рекурсивными вызовами в ORM методах - **Упрощены тесты кастомных ролей**: Тесты теперь работают изолированно через Redis без зависимости от GraphQL слоя ### 📱 Админ-панель и фронтенд - **E2E тесты работают через бэкенд**: В CI/CD фронтенд обслуживается бэкендом на порту 8000 - **Автоматическая адаптация тестов**: Один код работает везде - локально и в CI/CD - **Улучшенная диагностика**: Добавлены подробные логи для отслеживания проблем в тестах
This commit is contained in:
29
CHANGELOG.md
29
CHANGELOG.md
@@ -4,15 +4,28 @@
|
||||
|
||||
## [0.9.6] - 2025-08-12
|
||||
|
||||
### 🚀 CI/CD и E2E тестирование
|
||||
- **Исправлен Playwright headless режим в CI/CD**: Добавлена переменная окружения `PLAYWRIGHT_HEADLESS=true` для корректного запуска E2E тестов в CI/CD окружении без XServer
|
||||
- **Обновлены все Playwright тесты**: Все тесты теперь используют переменную окружения для определения headless режима, что позволяет локально запускать в headed режиме для отладки, а в CI/CD - в headless
|
||||
- **Добавлена установка браузеров Playwright в CI/CD**: Добавлен шаг `Install Playwright Browsers` для установки необходимых браузеров в CI/CD окружении
|
||||
- **Улучшена совместимость тестов**: Тесты теперь корректно работают как в локальной среде разработки, так и в CI/CD pipeline
|
||||
- **Исправлена ошибка pytest с TestModel**: Убран `__init__` конструктор из тестового класса `TestModel` в `test_db_coverage.py`, что устраняет предупреждение pytest о невозможности сбора тестов
|
||||
- **Добавлена сборка фронтенда в CI/CD**: Добавлены шаги для установки Node.js зависимостей и сборки фронтенда перед запуском E2E тестов
|
||||
- **Исправлены E2E тесты для CI/CD**: Обновлены все Playwright тесты для корректной работы с админ-панелью на порту 3000, которая запускается в CI/CD workflow
|
||||
- **Запуск фронтенд сервера в CI/CD**: Добавлен шаг для запуска фронтенд сервера в фоне перед тестами, что позволяет E2E тестам работать с админ-панелью
|
||||
- **Условная загрузка статических файлов**: Бэкенд теперь корректно обрабатывает отсутствие директории `dist/assets` в CI/CD окружении
|
||||
- **Автоматическое переключение режимов**: Все Playwright тесты автоматически переключаются между headed (локально) и headless (CI/CD) режимами
|
||||
- **Установка браузеров Playwright в CI/CD**: Добавлен шаг для установки необходимых браузеров в CI/CD окружении
|
||||
- **Сборка фронтенда в CI/CD**: Добавлены шаги для установки Node.js зависимостей и сборки фронтенда перед запуском E2E тестов
|
||||
- **Условная загрузка статических файлов**: Бэкенд корректно обрабатывает отсутствие директории `dist/assets` в CI/CD окружении
|
||||
|
||||
### 🔧 Исправления тестов
|
||||
- **Исправлена ошибка pytest с TestModel**: Убран `__init__` конструктор из тестового класса `TestModel` в `test_db_coverage.py`
|
||||
- **Централизованная конфигурация URL**: Создана фикстура `frontend_url` с автоматическим определением доступности фронтенда
|
||||
- **Автоматическое переключение портов**: Тесты автоматически используют порт 8000 (бэкенд) если фронтенд на порту 3000 недоступен
|
||||
- **Исправлены все localhost:3000 в тестах**: Все тесты теперь используют динамическую фикстуру вместо жестко закодированных URL
|
||||
|
||||
### 🐛 Критические исправления
|
||||
- **Устранена бесконечная рекурсия в CommunityAuthor**: Исправлены методы `get_users_with_role`, `get_community_stats` и `get_user_communities_with_roles`
|
||||
- **Исправлено зависание CI/CD на 29% тестов**: Проблема была вызвана рекурсивными вызовами в ORM методах
|
||||
- **Упрощены тесты кастомных ролей**: Тесты теперь работают изолированно через Redis без зависимости от GraphQL слоя
|
||||
|
||||
### 📱 Админ-панель и фронтенд
|
||||
- **E2E тесты работают через бэкенд**: В CI/CD фронтенд обслуживается бэкендом на порту 8000
|
||||
- **Автоматическая адаптация тестов**: Один код работает везде - локально и в CI/CD
|
||||
- **Улучшенная диагностика**: Добавлены подробные логи для отслеживания проблем в тестах
|
||||
|
||||
## [0.9.5] - 2025-08-12
|
||||
|
||||
|
||||
Reference in New Issue
Block a user