{
  "issueId": "4081",
  "environment": "dev",
  "scenario": "tenant-settlement-date-basis",
  "source": "김경주 재QA 요청 / Redmine #4081 / 기존 QA #4113",
  "sourceText": "기존 QA #4113에서 실패한 9건만 재검증한다. 사용자가 제공한 로컬 테스트 파일의 MID sayjhi 오타를 실행용 복사본에서 sayhi로 수정하고, 계산기준 선택 시 확인 팝업의 변경 버튼을 클릭해 저장한다.",
  "scope": "DEV 빅스페이먼츠 테넌트 ADMIN. 기존 실패 9건만 재검증하며 제품 코드는 변경하지 않는다. USE_SYSTEM 권한과 정산예정일 계산기준은 실행 전 값을 백업하고 종료 시 복구한다. 생성한 승인 거래는 모두 전체 취소한다.",
  "checklist": [
    "업체수정 화면의 정산예정일 계산기준에 통보일, 거래일 선택지가 노출되는지 확인하고 각각 선택한 후 확인 팝업에서 변경을 클릭하면 정상적으로 저장되는지 확인",
    "계산기준 저장 후 업체수정 화면 재진입, 새로고침 및 재로그인해도 마지막 선택값이 유지되는지 확인",
    "계산기준을 통보일로 선택하고 확인 팝업에서 변경을 클릭하여 저장한 뒤 기존 테스트 파일로 과거 승인일시의 거래를 현재 시점에 통보",
    "거래관리 > 거래내역에서 sayhi, sayhello 거래가 MID별로 각각 1건만 생성되고 주문번호, 거래번호, 승인번호, 승인일시 및 금액이 통보 내용과 일치하는지 확인",
    "정산관리 > 정산내역에서 정산예정일이 과거 승인일이 아닌 현재 통보일을 기준으로 계산되는지 확인",
    "통보일을 기준으로 기존 정산 주기와 휴일 정책이 적용되고 거래금액, 수수료 및 정산예정금액이 정상인지 확인",
    "sayhi, sayhello 승인거래가 각각 누락 없이 생성되었는지 확인",
    "계산기준을 거래일로 선택하고 확인 팝업에서 변경을 클릭하여 저장한 뒤 거래를 생성하고 거래관리 > 거래내역에서 MID별 거래가 각각 1건만 생성되며 주문번호, 거래번호, 승인번호, 승인일시 및 금액이 통보 내용과 일치하는지 확인",
    "거래일 기준으로 생성한 sayhi, sayhello 승인거래가 각각 누락 없이 생성되었는지 확인"
  ],
  "roles": ["ADMIN"],
  "setupSteps": [
    {
      "name": "USE_SYSTEM 권한과 업체 정산 기준 백업·복구",
      "kind": "permission-toggle",
      "role": "ADMIN",
      "application": "admin",
      "description": "UPDATE_TENANT_SETTLEMENT_DATE_BASIS 권한과 settlementByTransactionDateEnabled를 백업하고 finally에서 원복한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_4081_ALLOW_MUTATION",
      "restore": {
        "required": true,
        "description": "저장 전 USE_SYSTEM permissionIds와 업체 settlementByTransactionDateEnabled를 재저장하고 동일성을 재조회한다."
      }
    },
    {
      "name": "수정된 MID로 웰컴 승인·취소 통보",
      "kind": "data-create",
      "role": "ADMIN",
      "application": "admin",
      "description": "로컬 테스트 파일의 sayjhi를 sayhi로 수정한 실행본으로 승인 통보하고 생성한 모든 승인을 전체 취소한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_4081_ALLOW_MUTATION",
      "restore": {
        "required": true,
        "description": "실행 중 생성한 승인 transaction_no를 기록하고 전체 취소 통보 후 취소 거래를 재조회한다."
      }
    }
  ],
  "pages": [
    {
      "name": "도메인 설정",
      "application": "admin",
      "roles": ["ADMIN"],
      "path": "/admin/tenant",
      "tenantParam": "tenantId"
    },
    {
      "name": "거래내역",
      "application": "admin",
      "roles": ["ADMIN"],
      "path": "/trade-history-v2",
      "tenantParam": "tenantId"
    },
    {
      "name": "정산내역",
      "application": "admin",
      "roles": ["ADMIN"],
      "path": "/settlement-history/settlement-details",
      "tenantParam": "tenantId"
    }
  ]
}
