{
  "issueId": "4072",
  "environment": "dev",
  "scenario": "transaction-mid-alias-filter",
  "source": "Redmine #4072 + user-provided QA checklist 2026-09-01",
  "sourceText": "송인준 요청입니다. 개발계 비스킷링크에서 ADMIN, TA, CO, BO 기본 계정으로 거래내역 화면의 PG MID 별칭 검색 필터와 조회 목록의 별칭 컬럼을 확인합니다. Redmine #4072 완료 조건에 따라 별칭 필터를 기존 조회 조건과 함께 사용했을 때도 결과가 정상인지 포함해 검증합니다. Redmine: https://itsm.bix.bz/issues/4072",
  "scope": "개발계 비스킷링크 거래내역 화면에서 ADMIN, TA, CO, BO 기본 계정별로 PG MID 별칭 검색 필터가 요청과 결과 목록에 적용되고, 기존 조회 조건과 함께 사용해도 권한 범위가 유지되며, 조회 목록의 별칭 컬럼 값이 API 응답과 일치하는지 검증한다.",
  "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": "jjmbo01",
      "envRole": "QA4072_BO"
    }
  ],
  "checklist": [
    "별칭 검색 필터 확인 후 정상 동작 확인",
    "조회된 데이터의 별칭 컬럼 확인"
  ],
  "setupSteps": [
    {
      "name": "권한별 개발계 로그인 및 거래내역 접근",
      "kind": "state-verify",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "요청에 별도 계정이 없으므로 문서화된 ADMIN, TA, CO, BO 기본 계정으로 로그인하고 거래관리 > 거래내역 화면에 접근할 수 있어야 한다. BO는 전역 설정을 변경하지 않고 #4072 전용 런타임 역할에 jjmbo01을 연결한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "거래내역",
        "path": "/trade-history-v2"
      }
    },
    {
      "name": "권한별 별칭 보유 거래 데이터 확인",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "각 role의 조회 범위에 PG MID 별칭이 포함된 거래가 최소 1건 이상 있어야 하며, 시나리오는 실제 거래내역 응답에서 후보를 동적으로 선택한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "거래내역",
      "application": "admin",
      "path": "/trade-history-v2",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "recordsSelector": "[role='grid']",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "dataRequestUrlPattern": "/api/v2/transactions",
      "filters": [
        {
          "name": "별칭",
          "label": "별칭",
          "type": "textbox",
          "value": "권한별 조회 데이터에서 동적 선택",
          "queryParamCandidates": [
            "midAlias",
            "alias",
            "memo"
          ]
        }
      ]
    }
  ]
}
