Skip to content

fix: 릴리즈 리뷰 반영 (ReviewableOrderItemRow 명시 타입·매핑 테스트 보강) - #190

Merged
chanwoo7 merged 1 commit into
developfrom
fix/release-review-reviewable-row-type
Aug 19, 2026
Merged

fix: 릴리즈 리뷰 반영 (ReviewableOrderItemRow 명시 타입·매핑 테스트 보강)#190
chanwoo7 merged 1 commit into
developfrom
fix/release-review-reviewable-row-type

Conversation

@chanwoo7

Copy link
Copy Markdown
Member

배경

릴리즈 PR #189에서 CodeRabbit이 남긴 지적 2건을 반영합니다. 릴리즈 리뷰 절차에 따라 main 직접 커밋 없이 develop 경유로 처리합니다.

반영 내용

1. listReviewableOrderItems 반환 타입 명시화 — 기존에는 Prisma select 결과의 타입 추론에 의존하고 있어서, 나중에 select 절이 바뀌면 UserReviewService의 매핑 계약이 소리 없이 약해질 수 있었습니다. 이 레포의 다른 repository들(MyOrderRow, CakeCandidateRow 등)처럼 명시적 row 인터페이스 ReviewableOrderItemRow를 정의하고 Promise<{ items: ReviewableOrderItemRow[]; totalCount: number }>로 선언했습니다. 동작 변경은 없습니다.

2. 카드 매핑 테스트 보강 — 기존 매핑 테스트가 productIdpickedUpAt을 검증하지 않아 두 필드의 매핑이 깨져도 테스트가 통과할 수 있었습니다. 고정 픽업 시각을 fixture에 넣고 두 필드를 함께 assert하도록 보강했습니다.

검증

  • user-review.service.spec.ts 25건 통과 (매핑 테스트에 productId·pickedUpAt 검증 추가).
  • tsc 통과. 로직 변경이 없는 타입 선언·테스트 보강이라 다른 스위트에는 영향 없습니다.

- listReviewableOrderItems 반환 타입을 명시적 row 인터페이스
  (ReviewableOrderItemRow)로 선언해 UserReviewService 매핑 계약을 고정
  (레포의 다른 repository row 타입 컨벤션과 통일).
- 카드 매핑 테스트에 productId·pickedUpAt(고정 시각) 검증 추가.
@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ef74e3aa-1477-492e-bcff-fb07a165e8cb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

🧹 knip — dead-code 리포트

요약 항목 없음
전체 리포트
(knip 출력 없음 — 이슈 0이거나 실행 실패)

청소 후보(오탐 가능) · 기준 docs/guide/architecture-conventions.md

@github-actions

Copy link
Copy Markdown

🩺 NestJS Doctor — 89/100 (Good)

진단 277건 (error 0).

Category error warning info
architecture 0 0 13
correctness 0 124 0
performance 0 24 17
schema 0 0 86
security 0 13 0
architecture / security 상위 항목
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'IAuditLogRepository'.
  • warning security/security/no-exposed-env-vars: Direct 'process.env.NODE_ENV' access in 'AuthController'. Use ConfigService instead.
  • warning security/security/require-guards-on-endpoints: Endpoint 'start' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'callback' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'refresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'logout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogin' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerRefresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'devIssueToken' has no @UseGuards() at class or method level.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/conversation/repositories/conversation.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'ConversationRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/order/repositories/order.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'OrderRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/product/repositories/product.repository'.

오탐 포함 가능 · 기준 docs/guide/architecture-conventions.md

@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 97.53% 4659/4777
🟢 Branches 93.12% 1488/1598
🟢 Functions 95.89% 909/948
🟢 Lines 98.17% 4237/4316

Test suite run success

1552 tests passing in 182 suites.

Report generated by 🧪jest coverage report action from aa643ea

@chanwoo7
chanwoo7 merged commit 5d3c5f3 into develop Aug 19, 2026
12 checks passed
@chanwoo7
chanwoo7 deleted the fix/release-review-reviewable-row-type branch August 19, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant