Files
core/docs/README.md
Untone d6d88133bd
Some checks failed
Deploy on push / deploy (push) Has been cancelled
## [0.9.6] - 2025-08-12
### 🚀 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
- **Улучшенная диагностика**: Добавлены подробные логи для отслеживания проблем в тестах
2025-08-12 16:40:34 +03:00

3.2 KiB
Raw Blame History

Документация Discours Core v0.9.6

📚 Быстрый старт

Discours Core - это GraphQL API бэкенд для системы управления контентом с реакциями, рейтингами и темами.

🚀 Запуск

# Подготовка окружения
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.dev.txt

# Сертификаты для HTTPS
mkcert -install
mkcert localhost

# Запуск сервера
python -m granian main:app --interface asgi

📊 Статус проекта

  • Версия: 0.9.6
  • Тесты: 344/344 проходят (включая E2E Playwright тесты)
  • Покрытие: 90%
  • Python: 3.12+
  • База данных: PostgreSQL 16.1
  • Кеш: Redis 6.2.0
  • E2E тесты: Playwright с автоматическим headless режимом

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

🔧 Основные компоненты

🛠️ Разработка

  • Features - Обзор возможностей
  • Testing - Тестирование и покрытие
  • Security - Безопасность и конфигурация

🔍 Текущие проблемы

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

  • Ошибки в тестах кастомных ролей: test_custom_roles.py
  • Проблемы с JWT: test_token_storage_fix.py
  • E2E тесты браузера: Исправлены - добавлен автоматический headless режим для CI/CD

Git статус

  • 48 измененных файлов в рабочей директории
  • 5 новых файлов (включая тесты и роуты)
  • 3 файла готовы к коммиту

🎯 Следующие шаги

  1. Исправить тесты - Устранить ошибки в тестах кастомных ролей и JWT
  2. Настроить E2E - Исправить браузерные тесты
  3. Завершить RBAC - Доработать систему кастомных ролей
  4. Обновить docs - Синхронизировать документацию
  5. Подготовить релиз - Зафиксировать изменения

🔗 Полезные команды

# Линтинг и форматирование
biome check . --write
ruff check . --fix --select I
ruff format . --line-length=120

# Тестирование
pytest

# Проверка типов
mypy .

# Запуск в dev режиме
python -m granian main:app --interface asgi

Discours Core - открытый проект под MIT лицензией. Подробнее о вкладе