# QA Report - Redmine #4220 (dev)

- Generated: 2026-10-13T01:13:30+09:00
- Redmine: https://itsm.bix.bz/issues/4220
- QA Redmine: https://itsm.bix.bz/issues/4287
- Subject: [BL] MID 계약변경 시 MID 수정 기능 확장 요청의 건
- Workflow Status: 작업완료
- Status: PASS
- 추가 검증 참고: ADD-10 변경 기준 적용, ADD-09 개인확인 1건
- Historical result only: 아래 기존 자동화 PASS는 2026-10-12~13 당시 배포 QA와 최종 상태 자동 재확인 1건에 한정됩니다. 최신 구현의 추가 12건은 [추가 실행 기록](artifacts/files/additional-execution.md)에 별도로 판정했습니다.
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN
- Route Candidates: not recorded

## Scope

개발계 ADMIN의 MID 계약 변경. 선택 입력 항목 삭제와 실제 결제/PG 승인은 합의에 따라 제외.

## Checklist

1. MID 유지 기본 선택 및 입력 유효성
2. 타 PG 이동 시 MID·KEY/IV 수정과 네 건 저장
3. 동일 PG 이동 시 선택 MID만 변경하고 미선택 값·메타데이터 유지
4. 대상 계약 내 MID 중복 거절 및 네 건 원자성
5. 단건 중복 거절과 정상 계약 이동
6. 혼합 법인 선택 차단 및 창 초기화
7. 배포 후 변경 요약 UI와 미저장 입력 안내
8. 최종 네 건 계약·MID 상태 재조회

## Setup Steps

- 없음

## Source Text

동일 PG사 및 타 PG사 계약 변경 시 MID와 KEY를 수정할 수 있어야 한다. MID를 변경하지 않으면 기존 값을 유지한다. 배포 후 변경 요약, 미저장 입력 안내, 단건 이동을 재검증한다.

## 기존 자동화 Execution Summary (추가 12건 제외)

- Passed: 1
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 977ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| [dev][ADMIN] 최종 MID 네 건이 대상 계약에 유지된다 | 전체 | 4220/dev/final-state.spec.ts | 전체 계정으로 4220/dev/final-state.spec.ts 항목을 확인 | 기대한 동작과 일치했습니다. |  |

## 2026-10-13 최신 추가 검증

- **추가 12건 최종 판정: PASS 11 / FAIL 0 / 개인확인 1.** ADD-10은 사용자 변경 기준을 기존 배포 후 실측 결과에 적용해 정정했다. [체크리스트](artifacts/files/additional-checklist.md)와 [실행 증거](artifacts/files/additional-execution.md) 참조.
- **ADD-05 기대값 정정·통과:** 변경 대상은 수기(KEYIN), 비교 대상 `lucy-dan`은 다른 계약의 단말기(TERMINAL). 화면·API의 200은 현행 백엔드 유형별 중복 규칙에 맞는다. 원래 수기 MID 값으로 복원.
- **ADD-10 원래 실패:** 독립 브라우저 두 개에서 같은 계약의 서로 다른 수기(KEYIN) MID를 같은 값으로 동시에 저장하자 200/200, 최종값 중복 2건. 기준 데이터로 복원.
- **ADD-10 배포 후 재QA 및 판정 정정:** 같은 계약 유지 3회, 동일 대상 계약으로 이동 3회의 독립 브라우저 경합 모두 200/500이고 최종 동일값은 각 1건이다. 실패 건의 원래 MID·계약·메타데이터·연결 상태가 유지됐다. 사용자는 **한 건 저장·한 건 실패로 무결성이 보호되면 PASS**로 판정하도록 기준을 바꿨으므로 ADD-10을 **PASS**로 정정한다. 500 `Unknown internal server error` 관측 사실과 최초 200/200 중복 2건 실패 이력은 보존한다. 409 안내 응답의 후속 로컬 수정은 사용자 요청으로 undo되어 배포하지 않는다. [검증 상세](artifacts/files/additional-execution.md).
- **ADD-09 개인확인:** 연결 사용자 유지 이동은 통과. 정산 시스템 이관 비활성 부서가 연결된 상태의 펌뱅킹 누락 거절 조건은 담당자 개인확인 대상으로 남김.
- 종료 후 대상 MID 9건의 값·계약·연동정보 설정값·연결 상태·상세 정산 정보를 기준 데이터와 재대조해 일치 확인. 연동정보 내부 행 ID와 변경 이력은 원래 상태로 되돌리지 않았다.

## 기존 자동화의 실패 또는 확인 불가 상세

- 당시 자동화 1건에는 실패 또는 확인 불가 항목이 없었습니다. 최신 추가 검증은 변경된 ADD-10 기준에서 FAIL 0건이며, ADD-09는 개인확인 1건입니다.

## 기존 자동화의 수동 재현 필요

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

## 스크린샷

- 스크린샷 자료가 없습니다.

## 화면 재현 기록

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

## 실행 기록

- 실행 기록 자료가 없습니다.

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 4220/dev/final-state.spec.ts / [dev][ADMIN] 최종 MID 네 건이 대상 계약에 유지된다 | PASS | 505ms |  |  |  |  |

## 기존 실행 결과

2026-10-12~13 TypeScript/Playwright 및 API로 확인한 계약 이동, 필수 입력, 중복·원자성, 화면 초기화, 배포 후 UI 회귀 13개 범주의 상세 결과는 [실행 상세 기록](artifacts/files/qa-execution-notes.md)에 정리되어 있습니다. 위 자동 실행 1건은 게시 직전 최종 데이터 상태의 추가 재확인입니다. 상세 기록의 검사 건수와 자동 실행 건수를 합산한 통계는 아닙니다.

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- 검토 후 `qa:redmine:update`로 report/evidence를 업로드하고 QA subissue 상태를 갱신합니다.
