# QA Report — Redmine #4370 (dev)

- 실행일: 2026-10-26 KST
- 대상: `https://store-dev.biscuitpay.com/settlement`, VE `kjve_korpay_su`, 2026-09-01~2026-09-30
- Redmine: https://itsm.bix.bz/issues/4370
- QA 하위 이슈: https://itsm.bix.bz/issues/4397
- Status: PASS
- Passed: 9
- Failed: 0
- Blocked: 0
- Skipped: 1
- 체크리스트 결과: 9 PASS, 0 FAIL, 1 해당 없음 (9월 정산에 채권금액 0원 건 없음)
- Playwright: 기본 시나리오 6 PASS·4 SKIP, 별도 권한 변경·원복 시나리오 1 PASS. 기본 시나리오의 권한 3건 SKIP은 별도 시나리오에서 검증했다.
- 결과 요약: [result-summary.json](artifacts/result-summary.json)

## 결과

| 항목 | 판정 | 근거 |
|---|---|---|
| 로그인·2차 인증, 9월 정산 조회 | PASS | VE 로그인 후 9월 정산 2건 조회. [계정](artifacts/screenshots/01-account-profile.png), [목록](artifacts/screenshots/02-september-list.png) |
| 채권금액 위치와 API 일치 | PASS | 두 정산 건에서 `arDunningAmount=903`과 화면 `903원`이 일치. 채권금액은 상계금액 아래, 입금금액 위에 표시. [화면](artifacts/screenshots/03-ar-dunning-placement.png) |
| 0원 채권금액 | 해당 없음 | 조회된 2건 모두 `903원`으로 0원 사례가 없음. |
| 채권조회 권한만 회수 | PASS | `STORE_READ_SETTLEMENT`만 유지해 VE를 새로 로그인했다. 정산 2건에서 채권금액 라벨은 숨고 기존 추가/차감·상계·입금금액은 유지됐다. [실행 기록](artifacts/logs/02-permission-flow.md) |
| 정산조회 없이 채권조회만 보유 | PASS | 새 로그인 인증 응답은 정산조회 없음·채권조회 있음으로 확인. 정산내역 메뉴와 직접 주소의 정산 화면 접근이 제한됐다. [실행 기록](artifacts/logs/02-permission-flow.md) |
| 두 권한 복구·재로그인 | PASS | 원래 79개 권한 전체를 복구하고 새 로그인 후 채권금액 표시를 확인했다. 별도 관리자 세션에서 권한 집합 79개가 기준과 정확히 일치하는 것도 재검증했다. [실행 기록](artifacts/logs/02-permission-flow.md) |
| 모바일 320·360·390px | PASS | 실제 `903원`에서 잘림·겹침·가로 넘침 없음. [320px](artifacts/screenshots/06-mobile-320.png), [360px](artifacts/screenshots/07-mobile-360.png), [390px](artifacts/screenshots/08-mobile-390.png) |
| 긴 금액 모바일 표시 | PASS | Playwright가 브라우저 응답에만 `999,999,999,999,999원`을 주입해 세 너비를 검증. 서버 데이터는 변경하지 않음. [320px](artifacts/screenshots/09-synthetic-long-mobile-320.png), [360px](artifacts/screenshots/10-synthetic-long-mobile-360.png), [390px](artifacts/screenshots/11-synthetic-long-mobile-390.png) |
| 기간 변경·날짜 정렬·새로고침 | PASS | 동일 정산 건의 채권금액이 `903원`으로 유지. [전](artifacts/screenshots/04-before-sort.png), [후](artifacts/screenshots/05-after-refresh.png) |
| 기존 금액 및 합계 | PASS | 같은 실행 세션의 조작 전후에 추가/차감·상계·입금금액과 매출·정산합계가 유지됨. 배포 전 기준값과의 비교는 수행하지 않음. |

## 관측값과 제한

- 2026-09-30 정산 건 `11f1-bc6c-22d796b3-83f5-000000000001`: 채권금액 903원, 입금금액 903원.
- 2026-09-29 정산 건 `11f1-bbdf-123b8ee6-ae72-000000000001`: 채권금액 903원, 입금금액 903원.
- 인증 API에서 `STORE_READ_SETTLEMENT`와 `STORE_READ_SETTLEMENT_AR_DUNNING`이 모두 확인됐다. 대상 계정의 공유 `ve1` 프리셋(사용자 119명)은 사용자 승인에 따라 잠시 변경했다. 최종 서버 재조회 결과 원래 권한 79개가 모두 복구됐다. 정산 데이터는 변경하지 않았다.
- 확인된 제품 결함은 없다. 임시 권한 변경 중 다른 `ve1` 사용자에게도 같은 권한 변화가 적용됐을 수 있다. 현재는 원래 상태로 복구됐다.

## 실행

- `QA_SKIP_ROLES=ADMIN npm run qa:run -- --issue 4370 --env dev`: 6 passed, 4 skipped, 0 failed (Playwright 약 41초).
- `QA_4370_RUN_PERMISSION_FLOW=1 ... npx playwright test qa/issues/4370/dev/permission-flow.spec.ts`: 1 passed (약 1.1분).
- `npx tsx scripts/issue-4370-verify-restore.ts`: 프리셋 `684`, 권한 79개 정확히 일치, 정산조회·채권조회 모두 true.
- Playwright 시나리오: [settlement-ar-dunning.spec.ts](settlement-ar-dunning.spec.ts)
- 권한 변경·원복 시나리오: [permission-flow.spec.ts](permission-flow.spec.ts)
- 개발계 상태 증거: [01-development-state.md](artifacts/logs/01-development-state.md)
