{
  "issueId": "3785",
  "environment": "dev",
  "source": "Redmine #3785 QA checklist",
  "scenario": "wallet-payout-account-update",
  "sourceText": "김경주님의 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 https://itsm.bix.bz/issues/3785 - 기존 개발계 QA 결과 권한/선택/실패 케이스는 통과했으나, 성공 케이스는 박재민 법인계좌 연결 지급계좌가 1q1이 아닌 상태라 확인 불가로 남아 재확인 요청. [2] 사전 데이터 계좌관리 > 법인계좌관리에서 박재민 일반정산 법인계좌의 연결 지급계좌가 반드시 '1q1'인지 확인하고, 아니면 '1q1'로 변경합니다. 박재민 법인 및 하위 영업점/가맹점 지갑이 지갑관리 화면에서 조회 및 선택 가능한 상태인지 확인합니다. [3] 사전 작업 admin 계정으로 로그인합니다. 시스템메뉴 > 사용자프리셋관리 > 사용자프리셋관리 > 마스터 > USE_SYSTEM의 기능권한에서 '지갑 지급계좌 수정' 권한이 ON 상태인지 확인합니다. [4] 권한별 테스트 admin. [5] 검증 대상 계좌관리 > 법인계좌관리, 지갑관리 > 지갑관리. [6] 체크리스트는 checklist 배열 참조.",
  "scope": "dev 환경 ADMIN 계정으로 #3785 기존 확인 불가였던 성공 케이스를 재검증한다. 박재민 일반정산 법인계좌의 연결 지급계좌가 1q1인지 먼저 확인하고, 지갑관리에서 박재민 법인 및 하위 영업점/가맹점 지갑 선택 후 1q1 지급계좌 변경 요청과 이미 1q1인 지갑 포함 재요청이 모두 성공하는지 확인한다.",
  "roles": [
    "ADMIN"
  ],
  "checklist": [
    "[권한 확인] 시스템메뉴 > 사용자프리셋관리 > 사용자프리셋관리 > 마스터 > USE_SYSTEM의 기능권한에서 '지갑 지급계좌 수정' 권한을 OFF 처리합니다.",
    "[권한 확인] 지갑관리 > 지갑관리 페이지에서 지갑수정 버튼이 노출되지 않는지 확인합니다.",
    "[권한 확인] 시스템메뉴 > 사용자프리셋관리 > 사용자프리셋관리 > 마스터 > USE_SYSTEM의 기능권한에서 '지갑 지급계좌 수정' 권한을 ON 처리합니다.",
    "[권한 확인] 지갑관리 > 지갑관리 페이지에서 지갑수정 버튼이 노출되는지 확인합니다.",
    "[선택 기능 확인] 지갑관리 > 지갑관리 페이지에서 지갑수정 버튼을 클릭합니다.",
    "[선택 기능 확인] 법인 선택 후 박재민 법인을 선택하고, '법인+하위 선택'을 클릭합니다.",
    "[선택 기능 확인] 선택한 박재민 법인 지갑과 하위 영업점/가맹점 지갑이 함께 선택되는지 확인합니다.",
    "[선택 기능 확인] 영업점 선택 후 '하위 가맹 선택'을 클릭하면 해당 영업점 하위 가맹점 지갑이 선택되는지 확인합니다.",
    "[성공 케이스] 변경할 지급계좌를 '1q1'로 선택해 변경 요청 시 성공하는지 확인합니다.",
    "[성공 케이스] 성공 후 지갑관리 목록에서 대상 지갑들의 지급계좌가 '1q1'로 표시되는지 확인합니다.",
    "[성공 케이스] 이미 '1q1' 지급계좌인 지갑이 포함되어도 전체 요청이 정상 완료되는지 확인합니다.",
    "[실패 케이스] 변경할 지급계좌를 '1q1'이 아닌 다른 지급계좌로 선택해 변경 요청 시 실패하는지 확인합니다.",
    "[실패 케이스] 실패 시 '요청한 지급계좌가 해당 지갑 부서의 일반 법인계좌 지급계좌와 일치하지 않습니다.' 사유가 표시되는지 확인합니다.",
    "[실패 케이스] 현재 지급계좌와 변경할 지급계좌의 펌뱅크가 다른 지급계좌를 선택한 경우 실패하는지 확인합니다.",
    "[실패 케이스] 펌뱅크 불일치 실패 시 '현재 지급계좌와 변경할 지급계좌의 펌뱅크가 일치하지 않습니다.' 사유가 표시되는지 확인합니다.",
    "[실패 케이스] 여러 지갑을 선택한 상태에서 일부 지갑만 실패 조건에 해당하는 경우, 실패한 지갑별 사유가 각각 표시되는지 확인합니다.",
    "[실패 케이스] 일부 실패가 포함된 경우 전체 변경이 처리되지 않는지 확인합니다.",
    "[실패 케이스] 실패 후 다시 선택을 눌러 선택 화면으로 돌아갈 수 있는지 확인합니다.",
    "[실패 케이스] 실패한 경우 지갑관리 목록에서 대상 지갑들의 지급계좌가 변경되지 않았는지 확인합니다."
  ],
  "setupSteps": [
    {
      "name": "박재민 일반정산 법인계좌 연결 지급계좌 사전 설정",
      "kind": "data-update",
      "role": "ADMIN",
      "application": "admin",
      "description": "계좌관리 > 법인계좌관리에서 박재민 일반정산 법인계좌의 연결 지급계좌를 '1q1'로 맞춘 뒤 지갑 지급계좌 변경 검증을 진행한다.",
      "required": true,
      "mutation": "persistent",
      "guardEnv": "QA_3785_ALLOW_WALLET_PAYOUT_MUTATION",
      "navigation": {
        "name": "법인계좌관리",
        "path": "/master-accounting/corporation-accounts"
      }
    },
    {
      "name": "USE_SYSTEM 지갑 지급계좌 수정 권한 토글",
      "kind": "permission-toggle",
      "role": "ADMIN",
      "application": "admin",
      "description": "시스템메뉴 > 사용자프리셋관리 > 사용자프리셋관리 > 마스터 > USE_SYSTEM에서 '지갑 지급계좌 수정' 권한을 OFF/ON으로 바꾸며 버튼 노출을 검증한다. 검증 종료 시 ON 상태로 복구한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_3785_ALLOW_PERMISSION_MUTATION",
      "navigation": {
        "name": "사용자프리셋관리",
        "path": "/admin/user-preset-management/user-preset-management"
      },
      "restore": {
        "required": true,
        "description": "QA 종료 후 '지갑 지급계좌 수정' 권한을 ON 상태로 복구한다."
      }
    }
  ],
  "pages": [
    {
      "name": "법인계좌관리",
      "application": "admin",
      "path": "/master-accounting/corporation-accounts",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "dataRequestUrlPattern": "corporation-accounts|disbursement"
    },
    {
      "name": "지갑관리",
      "application": "admin",
      "path": "/master-accounting/wallet-management",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "dataRequestUrlPattern": "wallet|disbursement|permission"
    },
    {
      "name": "사용자프리셋관리",
      "application": "admin",
      "path": "/admin/user-preset-management/user-preset-management",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "dataRequestUrlPattern": "preset|permission"
    }
  ]
}
