{
  "issueId": "4013",
  "environment": "dev",
  "scenario": "store-link-product-image-send",
  "source": "Redmine #4013 + user-provided QA checklist 2026-08-25",
  "sourceText": "김경주님의 QA 요청입니다. 비스킷링크 개발계에서 한결데테스트 VE 계정으로 이미지가 없는 판매 중 등록 상품과 이미지가 있는 판매 중 등록 상품을 각각 선택해 010-9446-9158로 링크결제 문자를 발송한다. 이미지 없는 상품 발송 시 Unknown internal server error가 발생하지 않고, 두 상품 모두 발송 성공 및 실제 수신 링크의 상품명과 결제금액 표시를 확인한다. Redmine: https://itsm.bix.bz/issues/4013",
  "scope": "개발계 비스킷페이 한결데테스트 VE 계정의 상품관리와 링크결제 화면에서 이미지 유무가 다른 등록 상품의 판매 상태·이미지 상태를 확인하고, 각 상품을 실제 선택해 010-9446-9158로 발송한 요청/응답과 수신 SMS 결제 링크의 상품명·금액을 검증한다.",
  "checklist": [
    "상품 관리 화면에서 이미지없는상품이 판매 중이며 상품 이미지가 등록되지 않은 상태인지 확인",
    "링크 결제 문자 발송 화면에서 이미지없는상품을 선택하고 수신 번호를 입력해 발송했을 때 알 수 없는 내부 오류가 표시되지 않는지 확인",
    "이미지없는상품의 문자 발송이 성공으로 표시되고 입력한 휴대전화에서 문자가 정상 수신되는지 확인",
    "수신한 결제 링크를 열었을 때 이미지없는상품의 상품명과 결제 금액이 정상적으로 표시되는지 확인",
    "상품 관리 화면에서 이미지있는상품이 판매 중이며 상품 이미지가 등록된 상태인지 확인",
    "이미지있는상품을 선택해 동일하게 문자를 발송했을 때도 기존처럼 정상 발송되고 결제 링크가 열리는지 확인"
  ],
  "roles": [
    "VE"
  ],
  "routeCandidates": "../../../../qa-results/issues/4013/dev/route-candidates.json",
  "subjectAccounts": [
    {
      "role": "VE",
      "label": "한결데테스트",
      "envRole": "HANGYEOL_VE_4013"
    }
  ],
  "setupSteps": [
    {
      "name": "한결데테스트 VE 로그인 및 SMS 수신 번호 준비",
      "kind": "manual-precondition",
      "role": "VE",
      "targetRoles": [
        "VE"
      ],
      "application": "store",
      "description": "한결데테스트 로그인 정보는 이슈 전용 envRole(HANGYEOL_VE_4013)로 로컬에만 주입하고, 실제 SMS 수신 번호 010-9446-9158을 사용한다. 비밀번호, PIN, 전체 링크 token은 report와 git 산출물에 기록하지 않는다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "등록 상품과 문자 발송 잔여 건수 사전 확인",
      "kind": "state-verify",
      "role": "VE",
      "targetRoles": [
        "VE"
      ],
      "application": "store",
      "description": "이미지없는상품과 이미지있는상품이 모두 판매 중이고 각각 이미지 미등록/등록 상태여야 하며, 2건의 링크결제 SMS 발송이 가능한 상태여야 한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "비스킷페이 상품관리",
      "application": "store",
      "roles": [
        "VE"
      ],
      "path": "/products",
      "tenantParam": "tenantId",
      "recordsSelector": "li"
    },
    {
      "name": "비스킷페이 링크결제 문자 발송",
      "application": "store",
      "roles": [
        "VE"
      ],
      "path": "/link-shop-setup",
      "tenantParam": "tenantId",
      "dataRequestUrlPattern": "/api/v1/store/link-shop/send"
    },
    {
      "name": "비스킷페이 링크결제 상품구입",
      "application": "store",
      "roles": [
        "VE"
      ],
      "path": "/link-shop-payment",
      "tenantParam": "tenantId",
      "dataRequestUrlPattern": "/api/v1/store/link-shop/inquiry"
    }
  ]
}
