ws: PageWsListener.onPageDeleted/onPageMoved/onPageRestored без тестов #74
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/ws/listeners/page-ws.listener.ts:52-80Проблема
page-ws.listener.spec.ts покрывает только onPageCreated. У трёх остальных обработчиков своя dispatch/guard-логика без тестов: onPageDeleted имеет fallback
for (const page of event.pages ?? [])(ветка пустого/undefined pages не должна падать/вещать); onPageRestored при отсутствующем event.spaceId логирует warn и делает ранний return вместо broadcastRefetchRoot (guard от утечки); onPageMoved маршрутизирует PAGE_MOVED в broadcastPageMoved. Сами WsTreeService.broadcast* протестированы изолированно, но ветвление листенера — нет.Предлагаемый фикс
Расширить page-ws.listener.spec.ts: onPageDeleted с pages вызывает broadcastPageDeleted, с undefined/пустым — не вызывает и не падает; onPageMoved пробрасывает в broadcastPageMoved; onPageRestored со spaceId вызывает broadcastRefetchRoot, без spaceId — ранний return (опц. logger.warn).