{
  "issueId": "3529",
  "environment": "dev",
  "scenario": "store-settlement-balance",
  "source": "local checklist / Redmine #3529",
  "sourceText": "김경주님의 QA 요청입니다조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다\n[1] QA 요청 배경\n- https://itsm.bix.bz/issues/3529\n- [비스킷페이] 총 정산예정금 상세 내역 미노출로 실제 정산금액 확인이 어려운 건에 대한 확인 요청\n[2] 사전 데이터\n- BP100060 가맹점: 부가세 10% 세팅 완료\n- 비스킷페이/정산내역 조회 기간: 2026-06-12 ~ 2026-06-19\n- 정산 상태가 정산예정, 정산대기, 정산완료로 나뉘어 보이는 거래/정산 데이터 준비\n- 정산완료 건 중 실제 공제 내역이 있는 데이터 준비\n[3] 사전 작업\n- 비스킷페이 계정으로 로그인 가능 여부 확인 - ID: 한결데테스트 / PW <redacted password> / 2FA: <redacted 2FA>\n- 어드민 계정으로 비스킷링크 정산내역 화면 접근 가능 여부 확인\n[4] 권한별 테스트\n- admin\n- ve\n[5] 검증 대상\n- 비스킷페이 거래내역 화면\n- 비스킷페이 정산내역 화면\n- 비스킷페이 지갑 화면의 정산예정금/정산대기금 영역\n- 비스킷링크 정산내역 화면\n[6] 체크리스트\n- 비스킷페이 거래내역 화면에서 BP100060 고유번호로 검색했을 때 부가세 10% 설정이 있는 거래도 정산금액이 공제 전 금액으로 보이는지 확인\n- 비스킷페이 거래내역 합계 영역에서 총 정산금액과 세금 정보가 공제 전 기준으로 보이는지 확인\n- 비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산예정 상태의 금액이 공제 전 금액으로 보이는지 확인\n- 비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산대기 상태의 금액이 공제 전 금액으로 보이는지 확인\n- 비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산완료 상태의 세금과 최종 금액이 실제 공제 내역 기준으로 보이는지 확인\n- 어드민 계정으로 비스킷링크 정산내역 화면에 접속해 동일 기간·동일 가맹점 기준 금액이 비스킷페이 정산내역과 동일하게 보이는지 비교 확인\n- 비스킷페이 지갑 화면의 정산예정금과 정산대기금이 정산내역의 정산예정·정산대기 금액 합계와 일치하는지 확인",
  "scope": "dev 환경에서 비스킷페이 VE 계정(한결데테스트)과 비스킷링크 ADMIN 계정으로 BP100060 가맹점의 거래/정산/지갑 금액 표시 기준과 전산 정산내역 일치 여부를 확인",
  "checklist": [
    "비스킷페이 거래내역 화면에서 BP100060 고유번호로 검색했을 때 부가세 10% 설정이 있는 거래도 정산금액이 공제 전 금액으로 보이는지 확인",
    "비스킷페이 거래내역 합계 영역에서 총 정산금액과 세금 정보가 공제 전 기준으로 보이는지 확인",
    "비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산예정 상태의 금액이 공제 전 금액으로 보이는지 확인",
    "비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산대기 상태의 금액이 공제 전 금액으로 보이는지 확인",
    "비스킷페이 정산내역 화면에서 조회 기간을 2026-06-12 ~ 2026-06-19로 설정했을 때 정산완료 상태의 세금과 최종 금액이 실제 공제 내역 기준으로 보이는지 확인",
    "어드민 계정으로 비스킷링크 정산내역 화면에 접속해 동일 기간·동일 가맹점 기준 금액이 비스킷페이 정산내역과 동일하게 보이는지 비교 확인",
    "비스킷페이 지갑 화면의 정산예정금과 정산대기금이 정산내역의 정산예정·정산대기 금액 합계와 일치하는지 확인"
  ],
  "roles": [
    "ADMIN",
    "VE"
  ],
  "subjectAccounts": [
    {
      "role": "VE",
      "label": "한결데테스트 / BP100060",
      "envRole": "QA3529_VE"
    }
  ],
  "routeCandidates": "../../../../qa-results/issues/3529/dev/route-candidates.json",
  "setupSteps": [
    {
      "name": "비스킷페이 VE 계정 및 BP100060 정산 데이터 준비",
      "kind": "manual-precondition",
      "role": "VE",
      "application": "store",
      "targetRoles": [
        "VE"
      ],
      "description": "스토어 VE 한결데테스트 계정은 런타임 envRole(QA3529_VE)로만 로그인 정보를 주입한다. BP100060 가맹점의 2026-06-12~2026-06-19 정산예정/정산대기/정산완료 데이터가 준비되어 있어야 한다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "비스킷링크 ADMIN 정산내역 접근 준비",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN"
      ],
      "description": "ADMIN 계정으로 비스킷링크 정산내역 화면에 접근해 동일 기간과 BP100060 기준 금액을 비교할 수 있어야 한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "비스킷페이 거래내역",
      "application": "store",
      "path": "/transactions",
      "tenantParam": "tenantId",
      "roles": [
        "VE"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "store/transactions"
    },
    {
      "name": "비스킷페이 정산내역",
      "application": "store",
      "path": "/settlements",
      "tenantParam": "tenantId",
      "roles": [
        "VE"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "store/wallets/settlement"
    },
    {
      "name": "비스킷페이 지갑",
      "application": "store",
      "path": "/wallets",
      "tenantParam": "tenantId",
      "roles": [
        "VE"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "store/wallets"
    },
    {
      "name": "비스킷링크 정산내역",
      "application": "admin",
      "path": "/settlement-history/settlement-details",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회'), [data-testid='search-button']",
      "dataRequestUrlPattern": "settlement"
    }
  ]
}
