[feat] 기부 예약 이유 팝업과 금액 선택 변경 - #16
Merged
Merged
Conversation
DevDon-iOS
marked this pull request as ready for review
September 15, 2026 11:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
문제와 결과
기부 예약 이유가 초기 화면의 첫 문항으로 표시되고 이름·연락처가 스토리보다 앞에 있었습니다. 이제 스토리 → 이름·연락처 → 결제방법 → 3,000원/5,000원 선택 순서로 입력합니다. 기부 예약 접수하기를 눌러야 예약 이유 팝업이 열리고, 이유를 답한 뒤 최종 접수합니다.
주요 변경 사항
예약 접수 완료하기에서 API 요청005_reservation_flow_activity.sql과 운영 문서 및 회귀 테스트 추가검증
격리된 Node 26.3.1 / PostgreSQL 18 / Next production 서버에서 실행했습니다.
npm run typecheck— 통과npm run lint— 통과npm test— 16개 통과npm run build— 통과node --env-file=.env.test --import tsx apps/web/scripts/migrate.ts— 전체 마이그레이션 적용 통과node --env-file=.env.test --import tsx --test apps/web/tests/*.integration.ts— 3개 통과cd apps/web후node --env-file=../../.env.test ../../node_modules/@playwright/test/cli.js test— 5개 통과git diff --check— 통과초기 이유 비노출, 문항 순서, 필수 이유/기타 입력, 버튼을 통한 팝업 표시, Escape/닫기 후 포커스·내용 보존, 실패 후 같은 UUID 재접수, 관리자 금액 표시를 브라우저에서 검증했습니다. API에서는 두 금액 저장·임의 금액 거부·동시 요청 중복 제거·기존 7,200원 자료 보존을 확인했습니다. 1,000바이트 스토리 상한과 로그·카메라 회귀 테스트도 통과했습니다.
화면
검증용 데이터로 생성한 화면입니다.
한계 및 배포
npm run db:migrate로 새 활동 이벤트를 허용해야 합니다.main(9d63ab2)에서 브랜치를 생성했고 PR 대상도main입니다. 저장소 기본 브랜치는develop이므로main병합만으로 아래 이슈가 자동 종료되지 않을 수 있습니다.관련 이슈
Closes #15