# QA Report - Redmine #4149 (dev)

- Generated: 2026-09-15T01:05:48+09:00
- Redmine: https://itsm.bix.bz/issues/4149
- QA Redmine: https://itsm.bix.bz/issues/4150
- Subject: [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증
- Workflow Status: 완료
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN -> TA -> CO
- Route Candidates: not recorded

## Scope

개발계 ADMIN, TA, CO. 권한 변경은 ADMIN 세션의 API로만 수행하며 CO 프리셋은 읽기/화면 확인만 한다. 잔액은 1원 추가 후 1원 차감하여 순변경 0원으로 복구한다.

## Checklist

1. USE_SYSTEM과 ta 프리셋의 변경 전 대상 권한 상태를 기록한다
2. ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다
3. TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다
4. ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다
5. TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다
6. CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다
7. 잔고 조정 창의 양수/음수 문구·예상 잔액·0원/사유 검증·확인 취소·성공·새로고침/재로그인 영속성을 확인한다
8. 권한 회수 후 재로그인 시 버튼 미노출과 USE_SYSTEM·ta 프리셋 최종 원복을 확인한다

## Setup Steps

1. [required] USE_SYSTEM·ta 대상 권한 상태 기록 및 임시 토글 (admin/ADMIN / targets: ADMIN, TA / kind: permission-toggle / mutation: temporary / guard: QA_4149_ALLOW_PERMISSION_MUTATION / restore: required) - 3개 잔고 조정 권한의 원래 permissionIds를 기록하고 8개 조합을 순회한다. / spec: balance-adjust-permission.spec.ts
2. [required] 잔액 1원 추가 후 1원 차감 (admin/ADMIN / targets: ADMIN, TA / kind: data-update / mutation: temporary / guard: QA_4149_ALLOW_BALANCE_MUTATION / restore: required) - 성공 검증 대상 잔액을 +1/-1로 상쇄해 최종 잔액을 시작 값으로 복구한다.

## Source Text

지급계좌·법인계좌·지갑 잔고 추가/차감 권한을 ADMIN USE_SYSTEM과 TA ta 프리셋에서 조합별로 검증하고, ADMIN/TA/CO 역할 범위와 잔고 조정 입력·취소·성공·영속성·권한 회수 및 최종 원복을 확인한다.

## Execution Summary

- Passed: 8
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 461447ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| USE_SYSTEM과 ta 프리셋의 변경 전 대상 권한 상태를 기록한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/01-01-original-use-system.png)<br>[실행 기록 1](artifacts/logs/01-01-original-permissions.md) |
| ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/02-02-admin-none.png)<br>[스크린샷 2](artifacts/screenshots/03-02-admin-all.png)<br>[실행 기록 1](artifacts/logs/02-02-admin-permission-matrix.md) |
| TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/04-03-ta-none.png)<br>[스크린샷 2](artifacts/screenshots/05-03-ta-all.png)<br>[실행 기록 1](artifacts/logs/03-03-ta-permission-matrix.md) |
| ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/06-04-admin-relogin-persistence.png)<br>[스크린샷 2](artifacts/screenshots/07-04-admin-SYSTEM-연동-지급계좌.png)<br>[스크린샷 3](artifacts/screenshots/08-04-admin-법인계좌.png)<br>[스크린샷 4](artifacts/screenshots/09-04-admin-법인-지갑.png)<br>[스크린샷 5](artifacts/screenshots/10-04-admin-영업점-지갑.png)<br>[스크린샷 6](artifacts/screenshots/11-04-admin-가맹점-지갑.png)<br>[실행 기록 1](artifacts/logs/04-04-admin-balance-roundtrip.md) |
| TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/12-05-ta-TA-테넌트-지급계좌.png)<br>[스크린샷 2](artifacts/screenshots/13-05-ta-TA-테넌트-법인계좌.png)<br>[스크린샷 3](artifacts/screenshots/14-05-ta-TA-테넌트-지갑.png)<br>[실행 기록 1](artifacts/logs/05-05-ta-scope-and-roundtrip.md) |
| CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/15-06-co-corporation.png)<br>[스크린샷 2](artifacts/screenshots/16-06-co-wallet.png)<br>[실행 기록 1](artifacts/logs/06-06-co-no-adjust.md) |
| 잔고 조정 창의 양수/음수 문구·예상 잔액·0원/사유 검증·확인 취소·성공·새로고침/재로그인 영속성을 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 양수/음수 표시와 예상 잔액, 0원·사유 필수 검증, 확인 취소 후 잔액 불변, 새로고침·재로그인 후 잔액 유지 여부를 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/17-07-modal-validation-cancel.png)<br>[실행 기록 1](artifacts/logs/07-07-modal-validation.md) |
| 권한 회수 후 재로그인 시 버튼 미노출과 USE_SYSTEM·ta 프리셋 최종 원복을 확인한다 | 전체 | [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 | 전체 계정으로 [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 항목을 확인 | 기대한 동작과 일치했습니다. | [실행 기록 1](artifacts/logs/08-08-revoke-and-restore.md) |

## 실패 또는 확인 불가 상세

- 실패 또는 확인 불가 항목이 없습니다.

## 수동 재현 필요

- 수동 재현이 필요한 항목이 없습니다.

## 스크린샷

- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / USE_SYSTEM과 ta 프리셋의 변경 전 대상 권한 상태를 기록한다: [스크린샷 1](artifacts/screenshots/01-01-original-use-system.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [스크린샷 1](artifacts/screenshots/02-02-admin-none.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [스크린샷 2](artifacts/screenshots/03-02-admin-all.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [스크린샷 1](artifacts/screenshots/04-03-ta-none.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [스크린샷 2](artifacts/screenshots/05-03-ta-all.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 1](artifacts/screenshots/06-04-admin-relogin-persistence.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 2](artifacts/screenshots/07-04-admin-SYSTEM-연동-지급계좌.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 3](artifacts/screenshots/08-04-admin-법인계좌.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 4](artifacts/screenshots/09-04-admin-법인-지갑.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 5](artifacts/screenshots/10-04-admin-영업점-지갑.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [스크린샷 6](artifacts/screenshots/11-04-admin-가맹점-지갑.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다: [스크린샷 1](artifacts/screenshots/12-05-ta-TA-테넌트-지급계좌.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다: [스크린샷 2](artifacts/screenshots/13-05-ta-TA-테넌트-법인계좌.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다: [스크린샷 3](artifacts/screenshots/14-05-ta-TA-테넌트-지갑.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다: [스크린샷 1](artifacts/screenshots/15-06-co-corporation.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다: [스크린샷 2](artifacts/screenshots/16-06-co-wallet.png)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / 잔고 조정 창의 양수/음수 문구·예상 잔액·0원/사유 검증·확인 취소·성공·새로고침/재로그인 영속성을 확인한다: [스크린샷 1](artifacts/screenshots/17-07-modal-validation-cancel.png)

## 화면 재현 기록

- 화면 재현 기록 자료가 없습니다.
- 화면 재현 기록은 기본적으로 실패/확인불가 항목에 한해 포함합니다. PASS 항목 trace까지 필요하면 `QA_PUBLISH_TRACE=1 npm run qa:report -- --issue <id> --env <env>`로 내부 제출용 산출물을 생성합니다.

## 실행 기록

- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / USE_SYSTEM과 ta 프리셋의 변경 전 대상 권한 상태를 기록한다: [실행 기록 1](artifacts/logs/01-01-original-permissions.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [실행 기록 1](artifacts/logs/02-02-admin-permission-matrix.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다: [실행 기록 1](artifacts/logs/03-03-ta-permission-matrix.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다: [실행 기록 1](artifacts/logs/04-04-admin-balance-roundtrip.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다: [실행 기록 1](artifacts/logs/05-05-ta-scope-and-roundtrip.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다: [실행 기록 1](artifacts/logs/06-06-co-no-adjust.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / 잔고 조정 창의 양수/음수 문구·예상 잔액·0원/사유 검증·확인 취소·성공·새로고침/재로그인 영속성을 확인한다: [실행 기록 1](artifacts/logs/07-07-modal-validation.md)
- 전체 / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / 권한 회수 후 재로그인 시 버튼 미노출과 USE_SYSTEM·ta 프리셋 최종 원복을 확인한다: [실행 기록 1](artifacts/logs/08-08-revoke-and-restore.md)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / USE_SYSTEM과 ta 프리셋의 변경 전 대상 권한 상태를 기록한다 | PASS | 3369ms | [스크린샷 1](artifacts/screenshots/01-01-original-use-system.png) |  | [로그 1](artifacts/logs/01-01-original-permissions.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다 | PASS | 119112ms | [스크린샷 1](artifacts/screenshots/02-02-admin-none.png)<br>[스크린샷 2](artifacts/screenshots/03-02-admin-all.png) |  | [로그 1](artifacts/logs/02-02-admin-permission-matrix.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA에서 권한 없음·개별 1개·2개 조합·전체 권한별로 해당 잔고 조정만 노출되는지 확인한다 | PASS | 99052ms | [스크린샷 1](artifacts/screenshots/04-03-ta-none.png)<br>[스크린샷 2](artifacts/screenshots/05-03-ta-all.png) |  | [로그 1](artifacts/logs/03-03-ta-permission-matrix.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / ADMIN이 SYSTEM/테넌트 지급계좌·법인계좌·법인/영업점/가맹점 지갑을 추가·차감할 수 있는지 확인한다 | PASS | 121531ms | [스크린샷 1](artifacts/screenshots/06-04-admin-relogin-persistence.png)<br>[스크린샷 2](artifacts/screenshots/07-04-admin-SYSTEM-연동-지급계좌.png)<br>[스크린샷 3](artifacts/screenshots/08-04-admin-법인계좌.png)<br>[스크린샷 4](artifacts/screenshots/09-04-admin-법인-지갑.png)<br>[스크린샷 5](artifacts/screenshots/10-04-admin-영업점-지갑.png)<br>[스크린샷 6](artifacts/screenshots/11-04-admin-가맹점-지갑.png) |  | [로그 1](artifacts/logs/04-04-admin-balance-roundtrip.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / TA가 자기 테넌트 지급계좌·법인계좌·지갑만 조정 가능하고 허용되지 않은 범위는 조정할 수 없는지 확인한다 | PASS | 74290ms | [스크린샷 1](artifacts/screenshots/12-05-ta-TA-테넌트-지급계좌.png)<br>[스크린샷 2](artifacts/screenshots/13-05-ta-TA-테넌트-법인계좌.png)<br>[스크린샷 3](artifacts/screenshots/14-05-ta-TA-테넌트-지갑.png) |  | [로그 1](artifacts/logs/05-05-ta-scope-and-roundtrip.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / CO 프리셋을 변경하지 않고 법인계좌관리와 지갑관리의 잔고 조정 버튼이 보이지 않는지 확인한다 | PASS | 9454ms | [스크린샷 1](artifacts/screenshots/15-06-co-corporation.png)<br>[스크린샷 2](artifacts/screenshots/16-06-co-wallet.png) |  | [로그 1](artifacts/logs/06-06-co-no-adjust.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / 잔고 조정 창의 양수/음수 문구·예상 잔액·0원/사유 검증·확인 취소·성공·새로고침/재로그인 영속성을 확인한다 | PASS | 8055ms | [스크린샷 1](artifacts/screenshots/17-07-modal-validation-cancel.png) |  | [로그 1](artifacts/logs/07-07-modal-validation.md) |  |
| 4149/dev/balance-adjust-permission.spec.ts / [4149][dev] [QA] 지급계좌·법인계좌·지갑 잔고 조정 권한 검증 / 권한 회수 후 재로그인 시 버튼 미노출과 USE_SYSTEM·ta 프리셋 최종 원복을 확인한다 | PASS | 25152ms |  |  | [로그 1](artifacts/logs/08-08-revoke-and-restore.md) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- QA subissue에 report/evidence 업로드와 완료 상태 갱신이 반영되었습니다.
