### 🚨 Исправлено - **Лимит топиков 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:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user