public-share: инструмент listSharePages полностью без тестов #86
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?
Найдено в multi-aspect code review всех изменений с коммита
053a9c0d(ветка develop).Грань: test-coverage · Severity: warning
Где:
apps/server/src/core/ai-chat/tools/public-share-chat-tools.service.ts:157-211Проблема
listSharePages содержит нетривиальную логику, ни одна ветка не покрыта: детект rootInTree, fallback для single-page share с unshift корня, дедуп по id с сохранением первого titled-вхождения, catch-all возврата [] при сбое getShareTree. Инструмент перечисляет id/title страниц анонимному вызывающему, поэтому scope (только страницы этой шары) и форма dedup/fallback важны. Регрессия в fallback (пропуск корня single-page шары или дубликат) не будет поймана.
Предлагаемый фикс
Тесты: (a) includeSubPages-шара с корнем в pageTree — страницы перечислены и дедуплицированы; (b) single-page шара без корня в pageTree — корень добавлен через pageRepo.findById; (c) getShareTree кидает — возврат []. Проверить id/title и вызов getShareTree с (shareId, workspaceId).