{
  "issueId": "3937",
  "environment": "dev",
  "source": "Redmine #3937 + user-provided QA checklist 2026-08-04",
  "sourceText": "송인준님의 QA 요청입니다. 개발계 비스킷 링크 계좌관리 > 이체내역 화면에서 ADMIN, TA, CO, BO 권한으로 상태 검색 필터에 대기 항목이 노출되고, 대기 선택 후 대기 상태 이체내역이 조회되는지 확인합니다. Redmine: https://itsm.bix.bz/issues/3937",
  "scope": "개발계 비스킷 링크 계좌관리 > 이체내역 화면의 ADMIN/TA/CO/BO 권한별 상태 필터에서 대기 항목의 노출과 실제 조회 결과를 검증한다.",
  "scenario": "transfer-details-pending-filter",
  "roles": [
    "ADMIN",
    "TA",
    "CO",
    "BO"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "ADMIN 개발계 계정",
      "envRole": "ADMIN"
    },
    {
      "role": "TA",
      "label": "TA 개발계 계정",
      "envRole": "TA"
    },
    {
      "role": "CO",
      "label": "CO 개발계 계정",
      "envRole": "CO"
    },
    {
      "role": "BO",
      "label": "BO 개발계 계정",
      "envRole": "BO"
    }
  ],
  "checklist": [
    "상태 검색 필터에 대기 항목이 존재하는지 확인",
    "상태 검색 필터에서 대기를 선택한 뒤 대기 상태 이체내역이 조회되는지 확인"
  ],
  "setupSteps": [
    {
      "name": "권한별 개발계 로그인 및 이체내역 접근",
      "kind": "state-verify",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "ADMIN, TA, CO, BO 계정으로 개발계 비스킷 링크에 로그인하고 계좌관리 > 이체내역 화면에 접근할 수 있어야 한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "이체내역",
        "path": "/account/transfer-details"
      }
    },
    {
      "name": "대기 상태 이체내역 준비",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "각 권한의 조회 범위에서 상태가 대기인 이체내역을 확인할 수 있는 데이터가 개발계에 준비되어 있어야 한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "이체내역",
      "application": "admin",
      "path": "/account/transfer-details",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "recordsSelector": "table tbody tr, [role='row']",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "transfer/transaction",
      "filters": [
        {
          "name": "상태",
          "label": "상태",
          "type": "combobox",
          "value": "대기",
          "queryParamCandidates": [
            "status",
            "state",
            "transactionStatus",
            "transferStatus"
          ]
        }
      ]
    }
  ]
}
