{
  "issueId": "4074",
  "environment": "dev",
  "scenario": "merchant-sales-line-list-display",
  "source": "Redmine #4074 + user-provided QA checklist 2026-09-01",
  "sourceText": "송인준 요청\n\nRedmine: https://itsm.bix.bz/issues/4074\n\n개발계 비스킷링크에서 ADMIN, TA, CO, BO 계정으로 업체관리 > 가맹점관리 목록을 검증한다.\n\n체크리스트\n1. 가맹점관리 목록 화면에 영업라인이 버튼 클릭 없이 직접 표시되는지 확인한다.\n2. 영업라인 컬럼이 법인과 가맹점명 사이에 표시되는지 확인한다.\n3. 활성 영업라인이 여러 개인 가맹점은 처음 만들어진 활성 영업라인이 일관되게 표시되는지 확인한다.\n\n요청에 별도 계정이 없으므로 ADMIN bigs_jjm, TA jjmta01, CO jjmco01, BO jjmbo01 기본 계정을 사용한다.",
  "scope": "개발계 비스킷링크 가맹점관리 목록에서 ADMIN, TA, CO, BO 역할별로 영업라인이 즉시 표시되고, 복수 활성 영업라인은 최초 생성된 활성 영업라인으로 일관되게 표시되는지 검증한다.",
  "checklist": [
    "가맹점관리 목록 화면에 영업라인 표기 확인",
    "영업라인이 여러개인 경우 처음 만들어진 활성화된 영업라인 표기 확인"
  ],
  "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": "QA4074_BO"
    }
  ],
  "setupSteps": [
    {
      "name": "권한별 개발계 로그인 및 가맹점관리 접근",
      "kind": "state-verify",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "요청에 별도 계정이 없으므로 문서화된 ADMIN, TA, CO, BO 기본 계정으로 로그인하고 업체관리 > 가맹점관리 화면에 접근할 수 있어야 한다. BO는 전역 설정을 변경하지 않고 #4074 전용 런타임 역할에 jjmbo01을 연결한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "가맹점관리",
        "path": "/business/vendor-manage"
      }
    },
    {
      "name": "역할별 복수 활성 영업라인 가맹점 확인",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "application": "admin",
      "description": "각 역할의 조회 범위에 활성 영업라인이 여러 개인 가맹점이 있어야 한다. 시나리오는 가맹점 목록과 영업라인 API에서 후보를 동적으로 탐색하고 최초 생성 활성 영업라인을 계산한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "가맹점관리",
      "application": "admin",
      "path": "/business/vendor-manage",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "recordsSelector": "[role='grid']",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "dataRequestUrlPattern": "/api/v2/vendors/manage"
    }
  ]
}
