[0.9.12] - 2025-08-26
Some checks failed
Deploy on push / deploy (push) Failing after 2m54s

### 🚨 Исправлено
- **Лимит топиков API**: Убрано жесткое ограничение в 100 топиков, теперь поддерживается до 1000 топиков
  - Обновлен лимит функции `get_topics_with_stats` с 100 до 1000
  - Обновлен лимит по умолчанию резолвера `get_topics_by_community` с 100 до 1000
  - Это решает проблему, когда API искусственно ограничивал получение топиков

### 🧪 Исправлено
- **Тест-сьют**: Исправлены все падающие тесты для достижения 100% прохождения
  - Исправлено утверждение теста уведомлений для невалидных действий (fallback к CREATE)
  - Исправлены тесты публикации черновиков путем добавления обязательных топиков
  - Исправлен контекст авторизации в тестах черновиков (добавлены роли и токен)
  - Установлены браузеры Playwright для решения проблем с браузерными тестами
  - Все тесты теперь проходят: 361 пройден, 31 пропущен, 0 провален

### 🔧 Техническое
- Улучшены тестовые фикстуры с правильным созданием топиков для черновиков
- Улучшено тестовое мокирование для GraphQL контекста с требуемыми данными авторизации
- Добавлена правильная обработка ошибок для требований публикации черновиков
This commit is contained in:
2025-08-26 13:28:28 +03:00
parent 94af896c2d
commit 2a6fcc3f45
5 changed files with 88 additions and 24 deletions

View File

@@ -14,8 +14,9 @@ from sqlalchemy.orm import Session
from orm.author import Author
from orm.community import Community
from orm.draft import Draft
from orm.draft import Draft, DraftTopic
from orm.shout import Shout
from orm.topic import Topic
from resolvers.draft import publish_draft
from resolvers.reader import get_shout, load_shouts_by
from storage.db import local_session
@@ -87,6 +88,19 @@ def test_data() -> dict[str, Any]:
)
session.add(draft)
session.flush()
# Создаем топик для черновика
topic = Topic(
title="Test Topic",
slug=f"test-topic-{timestamp}",
community=community.id,
)
session.add(topic)
session.flush()
# Связываем черновик с топиком
draft_topic = DraftTopic(draft=draft.id, topic=topic.id, main=True)
session.add(draft_topic)
# Создаем существующий shout для тестирования обновления
existing_shout = Shout(
@@ -112,6 +126,19 @@ def test_data() -> dict[str, Any]:
)
session.add(draft_with_shout)
session.flush()
# Создаем топик для второго черновика
topic2 = Topic(
title="Updated Topic",
slug=f"updated-topic-{timestamp}",
community=community.id,
)
session.add(topic2)
session.flush()
# Связываем второй черновик с топиком
draft_topic2 = DraftTopic(draft=draft_with_shout.id, topic=topic2.id, main=True)
session.add(draft_topic2)
session.commit()