{
  "issueId": "4373",
  "environment": "dev",
  "source": "local checklist",
  "sourceText": "실제 dev 시간 입력기 HH:mm:ss 파싱·초 보존 수정 표식 확인\nADMIN·TA 정산 시간 실제 저장·GET·재진입 표시·최초 서버 값 원복\n정산 시간을 건드리지 않고 비고만 저장할 때 원본 서버 시간 유지\n정산 시간을 명시적으로 전체 삭제한 경우 null 저장·재진입\n법인·영업점·가맹점 부분 입력·경계값·삭제·버튼/ESC 저장 차단·읽기전용 회귀\n승인 가맹점의 변경 없는 저장·다중 영역 저장·비고 단독·선택적 비우기·ESC·전체 서버 설정 원복\n법인·영업점 승인 레코드에서 실제 저장·GET·재진입·원복\n상품정보·단말기한도 신규 설정 실제 저장·GET·재진입·원복\n상태/삭제·가감·외부연동·별도 할부 실행은 이번 범위 제외 및 미수행 구분",
  "scope": "0352c52b 초 포함 정산 시각 재표시 수정 및 화면 전 영역 설정 저장 유지의 실제 dev QA. 승인 가맹점 박재민_가맹_한결데만 실제 변경/원복, 로컬 fixture 결과 제외.",
  "checklist": [
    "실제 dev 시간 입력기 HH:mm:ss 파싱·초 보존 수정 표식 확인",
    "ADMIN·TA 정산 시간 실제 저장·GET·재진입 표시·최초 서버 값 원복",
    "정산 시간을 건드리지 않고 비고만 저장할 때 원본 서버 시간 유지",
    "정산 시간을 명시적으로 전체 삭제한 경우 null 저장·재진입",
    "법인·영업점·가맹점 부분 입력·경계값·삭제·버튼/ESC 저장 차단·읽기전용 회귀",
    "승인 가맹점의 변경 없는 저장·다중 영역 저장·비고 단독·선택적 비우기·ESC·전체 서버 설정 원복",
    "법인·영업점 승인 레코드에서 실제 저장·GET·재진입·원복",
    "상품정보·단말기한도 신규 설정 실제 저장·GET·재진입·원복",
    "상태/삭제·가감·외부연동·별도 할부 실행은 이번 범위 제외 및 미수행 구분"
  ],
  "roles": [
    "ADMIN",
    "TA",
    "CO",
    "BO"
  ],
  "routeCandidates": "../../../../qa-results/issues/4373/dev/route-candidates.json",
  "setupSteps": [
    {
      "name": "사용자가 지정한 테스트 가맹점 저장 검증 및 원복",
      "kind": "data-update",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN",
        "TA"
      ],
      "description": "승인된 박재민_가맹_한결데만 변경. 최초 서버 GET과 UI 값을 따로 백업하고, 전체 설정은 최초 UI 계약 형태와 서버 원본으로 복구 후 GET으로 대조. 추가 full-settings.spec.ts 포함. 법인·영업점 미승인 실제 쓰기와 미설정 상품/단말기 새 설정은 생성하지 않음.",
      "mutation": "temporary",
      "guardEnv": "QA_4373_ALLOW_VENDOR_MUTATION",
      "required": true,
      "spec": "rounds/0352c52b/vendor-save.spec.ts",
      "navigation": {
        "name": "가맹점 관리",
        "path": "/business/vendor-manage"
      },
      "restore": {
        "required": true,
        "description": "finally에서 원래 상호명·비고·선택값·시간을 저장 후 재진입해 동일함을 확인한다."
      }
    }
  ],
  "pages": [
    {
      "name": "법인 등록·수정",
      "application": "admin",
      "path": "/business/corporation",
      "tenantParam": "tenantId",
      "searchButtonSelector": "[data-route-keep-alive-active=true] button:has-text(\"검색\")",
      "filters": [
        {
          "name": "이름",
          "selector": "[data-route-keep-alive-active=true] input[type=text]",
          "type": "textbox",
          "value": "QA4373",
          "queryParamCandidates": [
            "name"
          ]
        }
      ]
    },
    {
      "name": "영업점 등록·수정",
      "application": "admin",
      "path": "/business/branch",
      "tenantParam": "tenantId",
      "searchButtonSelector": "[data-route-keep-alive-active=true] button:has-text(\"검색\")",
      "filters": [
        {
          "name": "이름",
          "selector": "[data-route-keep-alive-active=true] input[type=text]",
          "type": "textbox",
          "value": "QA4373",
          "queryParamCandidates": [
            "name"
          ]
        }
      ]
    },
    {
      "name": "가맹점 등록·수정",
      "application": "admin",
      "path": "/business/vendor-manage",
      "tenantParam": "tenantId",
      "searchButtonSelector": "[data-route-keep-alive-active=true] button:has-text(\"검색\")",
      "filters": [
        {
          "name": "가맹점명",
          "selector": "[data-route-keep-alive-active=true] input[type=text]",
          "type": "textbox",
          "value": "QA4373",
          "queryParamCandidates": [
            "name"
          ]
        }
      ]
    }
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "#4373 사용자 지정 관리자",
      "envRole": "QA4373_ADMIN"
    },
    {
      "role": "CO",
      "label": "기본 법인 QA 계정",
      "envRole": "CO"
    },
    {
      "role": "CO",
      "label": "저장 검증용 기존 법인 QA 보조 계정",
      "envRole": "QA4373_CO_ALT"
    },
    {
      "role": "BO",
      "label": "기본 영업 QA 계정",
      "envRole": "BO"
    },
    {
      "role": "BO",
      "label": "복수 가맹점 검증용 기존 영업 QA 보조 계정(해당 테넌트 사용)",
      "envRole": "QA4373_BO_ALT"
    }
  ],
  "implementationCommit": "0352c52b47c3ce9f6d31f14d3ca618821b8412e6"
}
