{
  "issueId": "3908",
  "environment": "dev",
  "scenario": "merchant-multiple-mid-delete",
  "source": "Redmine #3908 + user-provided QA checklist 2026-07-30",
  "sourceText": "송인준님의 QA 요청입니다. 비스킷 링크 개발계 업체관리 > 가맹점관리 > 가맹점관리에서 MID를 여러 개 등록한 가맹점의 삭제 버튼이 정상 동작하는지 확인합니다. Redmine: https://itsm.bix.bz/issues/3908",
  "scope": "개발계 기본 ADMIN 계정으로 QA 전용 임시 가맹점을 생성하고 단말기 MID 2개를 연결한 뒤, 가맹점관리 목록의 삭제 버튼으로 가맹점을 삭제하여 가맹점 삭제와 복수 MID 연결 해제가 모두 정상 처리되는지 검증한다.",
  "roles": [
    "ADMIN"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "기본 개발계 ADMIN",
      "envRole": "ADMIN"
    }
  ],
  "checklist": [
    "MID를 여러 개 등록한 가맹점 삭제 시 정상 동작하고, 삭제 후 모든 MID의 가맹점 연결이 해제되는지 확인"
  ],
  "setupSteps": [
    {
      "name": "QA 전용 가맹점 및 단말기 MID 2개 생성",
      "kind": "data-create",
      "role": "ADMIN",
      "application": "admin",
      "description": "QA3908 식별자를 포함한 임시 가맹점과 단말기 MID 2개를 생성하고 같은 가맹점에 연결한다. 기존 업무 데이터는 삭제하지 않는다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_3908_ALLOW_DELETE_MUTATION",
      "restore": {
        "required": true,
        "description": "검증 후 남아 있는 QA 전용 MID를 safe-delete하고, 가맹점 삭제가 실패한 경우 QA 전용 가맹점도 정리한다."
      }
    }
  ],
  "pages": [
    {
      "name": "가맹점관리",
      "application": "admin",
      "path": "/business/vendor-manage",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "recordsSelector": "body",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "dataRequestUrlPattern": "vendors",
      "filters": [
        {
          "name": "가맹점명",
          "selector": "input[placeholder*='가맹점'], input[aria-label*='가맹점']",
          "type": "textbox",
          "value": "QA3908",
          "queryParamCandidates": [
            "vendorIds"
          ]
        }
      ]
    }
  ]
}
