test: 솔로 토너먼트 E2E 테스트 시나리오 추가 - #389
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다. |
|
Warning Review limit reached
Next review available in: 24 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough토너먼트 E2E 테스트를 위해 페이지 응답 목킹, 회원·위시·토너먼트 상태별 목 데이터, SSR 라우트와 생성·아이템 추가·매치·결과 시나리오가 추가되었습니다. Changes솔로 토너먼트 E2E 검증
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Playwright
participant mockApiFixture
participant mockApiServer
participant TournamentCreatePage
Playwright->>mockApiFixture: getPage 위시 응답 등록
Playwright->>mockApiServer: 토너먼트 SSR 응답 등록
Playwright->>TournamentCreatePage: 위시 아이템 선택
TournamentCreatePage->>mockApiFixture: 선택 아이템 제출
mockApiFixture-->>TournamentCreatePage: 갱신된 토너먼트 데이터 반환
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/web/e2e/mocks/tournament.ts`:
- Around line 149-155: Update MOCK_TOURNAMENT_IN_PROGRESS_FINAL’s
inProgress.remainingItems to contain the selected finalists from the original
[11, 12, 13, 14] order—items 11 and 13—rather than using slice(0, 2), so the
final re-fetch and subsequent request checks exclude eliminated item 12.
In `@apps/web/e2e/specs/tournament/tournamentItemAdd.spec.ts`:
- Line 25: In apps/web/e2e/specs/tournament/tournamentItemAdd.spec.ts:25,
replace method/path-only interception with waitForRequest-based validation that
asserts the create request includes the entered tournament name. At
apps/web/e2e/specs/tournament/tournamentItemAdd.spec.ts:46-48, likewise capture
the wish-add request and assert it contains the selected item identifiers;
preserve the existing successful API responses while validating both required
payloads.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 29527511-e8e5-4f31-aa8a-875e6e7bf0bf
📒 Files selected for processing (8)
apps/web/e2e/fixtures/mockApiFixture.tsapps/web/e2e/mocks/me.tsapps/web/e2e/mocks/tournament.tsapps/web/e2e/mocks/wish.tsapps/web/e2e/setup/mockApiServer.tsapps/web/e2e/specs/tournament/tournamentItemAdd.spec.tsapps/web/e2e/specs/tournament/tournamentMatch.spec.tsapps/web/e2e/specs/tournament/tournamentResult.spec.ts
* chore: E2E 목 데이터·fixture 확장 (토너먼트 상태별·위시·회원) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 생성·아이템 담기 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 매치 진행 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 결과 영수증 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: 결승 진출 목 데이터를 실제 승자(11·13) 기준으로 수정 * test: 토너먼트 생성·위시 담기 요청 payload 검증 추가 * fix: test에서 사용하는 타입 export로 변경 --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Jung Sun A <amber0809@naver.com> Co-authored-by: iOdiO89 <117376841+iOdiO89@users.noreply.github.com>
* feat: 로그인 전 온보딩 슬라이드 추가 * fix: 온보딩 하단 CTA 공통 컴포넌트 적용 및 짧은 화면 일러스트 겹침 해결 - 인디케이터/다음 버튼을 BottomCta(hasGradient)로 감쌈 — 시안의 36px Top Gradient와 동일 - main을 min-h-dvh -> h-dvh로 변경. 상한이 없어 페이지가 늘어나면서 flex-1이 축소되지 않던 문제 - 일러스트 max-h-full은 부모 높이를 순환 참조해 클램프되지 않아, h-full + preserveAspectRatio 기반으로 교체 * test: 솔로 토너먼트 E2E 테스트 시나리오 추가 (#389) * chore: E2E 목 데이터·fixture 확장 (토너먼트 상태별·위시·회원) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 생성·아이템 담기 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 매치 진행 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test: 솔로 토너먼트 결과 영수증 E2E 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: 결승 진출 목 데이터를 실제 승자(11·13) 기준으로 수정 * test: 토너먼트 생성·위시 담기 요청 payload 검증 추가 * fix: test에서 사용하는 타입 export로 변경 --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Jung Sun A <amber0809@naver.com> Co-authored-by: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> * style: 온보딩 carousel indicator cursor-pointer 추가 --------- Co-authored-by: kanghaeun <145974230+kanghaeun@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
작업 요약
범위
구조
tournament/[id]/match,tournament/[id]/result는 RSC가 서버사이드에서getTournament을 직접 호출하는데, SSR 목 스텁 서버(e2e/setup/mockApiServer.ts)는 경로당 응답이 고정이라 같은 id로PENDING → IN_PROGRESS → COMPLETED상태 전이를 표현할 수 없음.PENDINGIN_PROGRESSCOMPLETED작업 상세 내용
테스트 spec
tournamentItemAdd.spec.ts(PENDING)/tournament/{id}/create진입tournamentMatch.spec.ts(id 2 — IN_PROGRESS)tournamentResult.spec.ts(id 3 — COMPLETED)목 데이터 / fixture 확장
(
e2e/mocks/,e2e/fixtures/mockApiFixture.ts,e2e/setup/mockApiServer.ts)mocks/tournament.ts: 토너먼트 후보 아이템 4종, 담긴 개수별 PENDING 변형, IN_PROGRESS/COMPLETED 목 추가mocks/wish.ts신규: by-wish 담기 테스트용 위시 목록mocks/me.ts: 회원 전용 UI(위시에서 가져오기 등) 검증용MOCK_MEMBER_ME추가mockApiFixture.ts: 커서 페이지네이션 응답(pageResponse)을 다루는api.getPage()추가mockApiServer.ts: 상태·개수 변형별 토너먼트 SSR 응답 등록이번 범위에서 제외한 것
스크린샷
연관 이슈
closes #388
Summary by CodeRabbit
currentRound포함 여부를 검증했습니다.