test(share-ai): нет тестов на условную подпись ассистента (typing-indicator / message-item) #108
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Найдено в ходе код-ревью коммита
18105ff(«feat(share-ai): label public chat with the assistant identity name»).Проблема
Коммит вводит новую условную логику подписи — это и есть суть фичи, — но она не покрыта тестами.
Файлы:
apps/client/src/features/ai-chat/components/typing-indicator.tsxconst name = assistantName?.trim();{name || t("AI agent")}{name ? t("{{name}} is typing…", { name }) : t("AI agent is typing…")}apps/client/src/features/ai-chat/components/message-item.tsx:70{assistantName?.trim() || t("AI agent")}Непокрытые ветки (одинаковый предикат в обоих файлах):
" "→ откат на «AI agent» (ради этого случая стоит.trim());undefined→ откат на «AI agent».Почему это важно
Это центральное новое поведение коммита, и оно без тестов. В этой же папке уже есть прецедент тестов области:
apps/client/src/features/ai-chat/components/show-typing-indicator.test.tsпокрывает родственный pure-хелперshowTypingIndicator(включая случай" "), а в репозитории есть render-тесты на@testing-library/react(*.test.tsx).Логика проста и при ревью вручную проверена как корректная для всех значений, поэтому не блокер, но это единственный содержательный gap по покрытию.
Что сделать
Добавить
typing-indicator.test.tsx(с мокомuseTranslation), проверяющий три случая: имя задано, пробелы, отсутствие. Той же проверкой закрыть метку вMessageItem.Severity: warning (покрытие тестами), не блокирует merge.
Ghost referenced this issue2026-06-21 05:49:34 +03:00