docs(graphql): 구매자·공용 SDL 설명 보강 및 커버리지 기준선 100% 상향 - #285
Conversation
seller 외 도메인의 남은 설명을 채워 전 카테고리 커버리지를 100%로 올린다. 주요 보강: - user-order(74) · user-review(49) · product-reviews(50) · product-search(35) 등 - region·pickup·store-pickup-schedule 공용 타입(커버리지 10% 미만이던 것들) - 커서·페이지네이션 필드 전건: nextCursor가 불투명 토큰이고 정렬을 바꾸면 무효라는 규약이 CLAUDE.md에만 있고 SDL에는 한 번도 없었다 - Connection의 items에는 "무엇이 담기는가"를 되풀이하는 대신 **정렬 기준**을 적었다 (예: "최근 찜한 순으로 온다") — 프론트가 실제로 모르는 정보가 그쪽이다 기준선을 달성치인 100%로 올린다. 이 상향에는 부수 효과가 있다 — 미기재 건수 기준선이 0이 되면서, 리뷰에서 "기존 미기재를 채우면서 새 미기재를 추가하면 건수·비율 모두 통과한다"고 지적받아 유예했던 우회 경로가 함께 닫힌다. 이제 설명 없는 요소를 하나라도 추가하면 그 자리에서 실패한다. 검증: root.graphql에 설명 없는 타입 1개를 넣으면 "출력 type 선언: 미기재 1건 > 기준선 0건"으로 걸리는 것을 확인했다. 최종 커버리지 (전 항목 100%): Query/Mutation 필드 130/130 필드 인자(비 input) 6/6 input 타입 선언 72/72 input 필드 227/227 출력 type 선언 134/134 출력 type 필드 603/603 enum 선언 17/17 enum 값 61/61
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🧹 knip — dead-code 리포트전체 리포트
|
🩺 NestJS Doctor — 90/100 (Excellent)진단 306건 (error 0).
architecture / security 상위 항목
|
Coverage report
Test suite run success1869 tests passing in 225 suites. Report generated by 🧪jest coverage report action from bd0872a |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
seller 외 도메인의 남은 설명을 채워 전 카테고리 커버리지를 100%로 올린다. 이 작업(#281~#285)의 마지막 PR이다.
커버리지 — 8개 항목 전부 100%
(분모는 자명한 필드
id·createdAt·*Id를 제외한 수치다. enum 총수가 준 것은 중복 6쌍을 통합했기 때문.)주요 보강
user-order(74) ·user-review(49) ·product-reviews(50) ·product-search(35) 등region·pickup·store-pickup-schedule— 커버리지 10% 미만이던 공용 타입nextCursor가 불투명 토큰이고 정렬을 바꾸면 무효라는 규약이 CLAUDE.md에만 있고 SDL에는 한 번도 없었다items에는 "무엇이 담기는가"를 되풀이하는 대신 정렬 기준을 적었다(예: "최근 찜한 순으로 온다") — 프론트가 실제로 모르는 정보가 그쪽이다기준선 100% 상향의 부수 효과
docs:check기준선을 달성치인 100%로 올린다. 미기재 건수 기준선이 0이 되면서, PR #281 리뷰에서 "기존 미기재를 채우면서 새 미기재를 추가하면 건수·비율 모두 통과한다" 고 지적받아 유예했던 우회 경로가 함께 닫힌다. 이제 설명 없는 요소를 하나라도 추가하면 그 자리에서 실패한다.검증:
root.graphql에 설명 없는 타입 1개를 넣으면출력 type 선언: 미기재 1건 > 기준선 0건으로 걸리는 것을 확인했다.정렬 단정 전수 검증
items계열에 적은 정렬 기준 13건을 repositoryorderBy와 대조했다. 찜 매장·찜 상품created_at desc, 내 리뷰·주문created_at desc, 최근 본 상품viewed_at desc, 구매자 대화last_message_at desc, 리뷰 작성 가능picked_up_at desc, 매장 상품id desc, 찜 매장 그룹count desc.이 과정에서 매장 검색이 인기순만 쓰고 검색어 관련도를 반영하지 않는다는 걸 확인해 설명을 고쳤다(
scoreAndSortByPopularity— 찜 수·리뷰 통계·최근 주문 수). "관련도·인기 기준"이라 적었던 건 추론이었다.검증
전체 225 suites / 1,869건 통과.
tsc·dto:check·arch:check·docs:check·test:scripts(42건) 통과.