{
  "issueId": "4016",
  "environment": "dev",
  "scenario": "pg-mid-alias-filter",
  "source": "Redmine #4016 + user-provided QA checklist 2026-08-24",
  "sourceText": "송인준님의 QA 요청입니다. 비스킷 링크 개발계에서 ADMIN, TA, CO 계정으로 업체관리 > 가맹점관리 > TID/MID관리 화면에 진입해 별칭 검색 필터가 정상 동작하는지 확인합니다. 원본 결함은 PG MID(TID/MID) 메뉴에서 별칭 필터 검색 시 필터가 적용되지 않던 현상입니다. Redmine: https://itsm.bix.bz/issues/4016",
  "scope": "개발계 비스킷 링크 업체관리 > 가맹점관리 > TID/MID관리 화면에서 ADMIN, TA, CO 권한별 별칭 필터가 memo 검색 조건으로 요청되고, API 응답과 화면 목록이 입력한 별칭으로 제한되며, 필터 초기화 후 원래 조회 범위로 복구되는지 검증한다.",
  "roles": [
    "ADMIN",
    "TA",
    "CO"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "ADMIN 개발계 계정",
      "envRole": "ADMIN"
    },
    {
      "role": "TA",
      "label": "TA 개발계 계정",
      "envRole": "TA"
    },
    {
      "role": "CO",
      "label": "CO 개발계 계정",
      "envRole": "CO"
    }
  ],
  "checklist": [
    "별칭 검색 필터 정상 동작 확인"
  ],
  "setupSteps": [
    {
      "name": "권한별 개발계 로그인 및 TID/MID관리 접근",
      "kind": "state-verify",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO"
      ],
      "application": "admin",
      "description": "ADMIN, TA, CO 계정으로 개발계 비스킷 링크에 로그인하고 업체관리 > 가맹점관리 > TID/MID관리 화면에 접근할 수 있어야 한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "TID/MID관리",
        "path": "/business/pg-mid-manage"
      }
    },
    {
      "name": "권한별 별칭 보유 MID 데이터 확인",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO"
      ],
      "application": "admin",
      "description": "각 계정의 조회 범위에 별칭(memo)이 입력된 정상 상태 PG MID가 최소 1건 이상 존재해야 한다. 테스트는 권한별 목록 API에서 첫 번째 유효 별칭을 동적으로 선택한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "TID/MID관리",
      "application": "admin",
      "path": "/business/pg-mid-manage",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN",
        "TA",
        "CO"
      ],
      "recordsSelector": "[role='grid']:last-of-type [role='row'], table:last-of-type tbody tr",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "/api/v1/pgmids/manage",
      "filters": [
        {
          "name": "별칭",
          "label": "별칭",
          "type": "textbox",
          "value": "권한별 조회 데이터에서 동적 선택",
          "queryParam": "memo"
        }
      ]
    }
  ]
}
