Skip to content

fix: 배너 '현재 노출'이 링크 대상 숨김 배너를 건너뛰고 '링크 대상 숨김' 표시 - #67

Merged
chanwoo7 merged 3 commits into
developfrom
fix/banner-current-exposure
Oct 4, 2026
Merged

chanwoo7 merged 3 commits into
developfrom
fix/banner-current-exposure

Conversation

@chanwoo7

@chanwoo7 chanwoo7 commented Oct 4, 2026

Copy link
Copy Markdown
Member

배경

  • 이슈 #55입니다. 우선순위가 가장 높은 노출 배너의 링크 대상이 나중에 숨겨지면 구매자 앱은 그 배너를 건너뛰는데, 관리자 목록은 그 배너에 '현재 노출'을 붙였습니다.
  • BE가 관리자 배너에 linkTargetAvailable(구매자 앱과 같은 기준)을 내려 주게 됐습니다(BE PR 반영 후 스키마 동기화).

변경

  • '현재 노출' 판정(currentBannerIds)이 linkTargetAvailable이 false인 배너를 건너뜁니다. 구매자 앱과 같은 순서입니다.
  • 그런 배너의 상태 칸에 '링크 대상 숨김' 배지를 붙였습니다. 상품 목록의 '매장 숨김'과 같은 StatusPill(caution)입니다.
  • 목록 조회 문서 두 개에 linkTargetAvailable을 추가했습니다.

테스트

  • live-status.spec: 최우선 배너의 대상이 숨겨지면 다음 배너를 현재 노출로 고르는지 확인했습니다.
  • banners.spec: 최우선 배너에는 '링크 대상 숨김'이, 다음 배너에는 '현재 노출'이 붙는지 확인했습니다.
  • 반증: 건너뛰기를 빼면 2건, 배지를 빼면 1건이 실패하는 것을 확인했습니다.

플랜 대조

플랜 6번 FE 불릿 상태
링크 대상을 쓸 수 없는 배너를 '현재 노출' 판정에서 건너뜀 한 것
'링크 대상 숨김' 경고 배지 한 것
BE develop 머지 뒤 스키마 재동기화 한 것(체인이 PR 직전에 develop에서 다시 받음)

- AdminBanner.linkTargetAvailable 추가분(BE feat/admin-banner-link-target e76ccf9 기준)
- BE 머지 뒤 develop 기준으로 다시 동기화한다
연결한 상품·매장·카테고리가 나중에 숨겨지거나 삭제된 배너도 '현재 노출'로 표시했다.
구매자 앱은 그런 배너를 건너뛰고 다음 배너를 보여 주는데, 목록은 링크 대상 상태를 몰랐다.

- AdminBanners·AdminBannersVisible 문서에 linkTargetAvailable 추가(BE가 구매자 조회와 같은 조건으로 판정)
- currentBannerIds: linkTargetAvailable=false면 슬롯 후보에서 빼 구매자 앱과 같은 배너를 고름
- 목록 노출 상태 칸에 '링크 대상 숨김'(caution) 배지, 페이지 설명 문구 갱신

회귀 테스트
- live-status.spec: 대상 숨김인 상위 배너를 건너뛰고 다음 배너가 현재 노출
- banners.spec: 상위 배너는 '노출 중 + 링크 대상 숨김', 다음 배너가 '현재 노출'
- 반증: 건너뛰기를 되돌리면 2건, 배지를 빼면 1건 실패
@coderabbitai

coderabbitai Bot commented Oct 4, 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: Repository: CaQuick/caquick-admin-fe/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 75393b5f-724e-4f78-8d93-1dfd78dcc346

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
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🟢 Lines 96.07% (🎯 80%) 2447 / 2547
🟢 Statements 95.54% (🎯 80%) 2680 / 2805
🟢 Functions 94.29% (🎯 80%) 1008 / 1069
🟢 Branches 88.07% (🎯 70%) 2017 / 2290
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/features/banners/live-status.ts 100% 73.91% 100% 100%
src/features/banners/api/queries.ts 90% 70% 96.42% 90.9% 260-267, 287-288
src/features/banners/pages/banners-list-page.tsx 78.78% 81.25% 73.68% 75.86% 51, 134-135, 161-167, 187, 219
Generated in workflow #134 for commit 0a536fa by the Vitest Coverage Report Action

@chanwoo7
chanwoo7 merged commit a7ce4a4 into develop Oct 4, 2026
9 checks passed
@chanwoo7
chanwoo7 deleted the fix/banner-current-exposure branch October 4, 2026 16:07
@codecov

codecov Bot commented Oct 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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