{
  "issueId": "3869",
  "environment": "dev",
  "scenario": "settlement-depositor-name",
  "source": "Redmine #3869 + user-provided QA checklist 2026-07-28",
  "sourceText": "김경주님의 QA 요청입니다. 비스킷링크 ADMIN 정산내역과 비스킷페이 VE/BO/CO 정산내역에서 입금자명 표시, 검색, 합계, 비동기 Excel 반영 여부를 확인합니다. ADMIN과 VE/BO는 당월, CO는 전월 데이터로 검증합니다. VE는 입금자명 김경주 완료 정산, BO는 김경주 정산이 없는 당월 데이터, CO는 입금자명이 비어 있는 전월 데이터를 사용합니다. Redmine: https://itsm.bix.bz/issues/3869",
  "scope": "개발계 비스킷링크 ADMIN과 비스킷페이 VE/BO/CO 계정으로 정산내역의 입금자명 필터, 목록 표시, 합계 API, 비동기 Excel 결과를 교차 검증한다.",
  "roles": [
    "ADMIN",
    "VE",
    "BO",
    "CO"
  ],
  "subjectAccounts": [
    {
      "role": "VE",
      "label": "transfer_ve_gj",
      "envRole": "QA3869_VE"
    },
    {
      "role": "BO",
      "label": "transfer_bo_gj",
      "envRole": "QA3869_BO"
    },
    {
      "role": "CO",
      "label": "co_test_gj",
      "envRole": "QA3869_CO"
    }
  ],
  "checklist": [
    "비스킷링크 어드민에서 당월 조회 후 입금자명 필터 적용 전 화면의 목록 건수·매출금 합계·정산금 합계와 Excel의 행 수·매출금 합계·정산금 합계가 각각 일치하는지 확인",
    "비스킷링크 어드민에서 입금자명 김경주 검색 후 결과 목록이 김경주 정산만 표시하고, 화면과 Excel의 건수·매출금·정산금이 각각 일치하는지 확인",
    "비스킷링크 Excel에 입금자명 열이 표시되고 목록과 같은 입금자명 값이 표시되는지 확인",
    "VE 계정으로 당월 조회 후 검색조건 토글에서 입금자명 김경주 검색 시 결과가 1건 이상이며 모든 결과의 입금자명에 김경주가 포함되는지 확인",
    "VE 검색 결과의 목록 건수와 페이지 총 건수가 일치하고, 완료 정산 기준 매출금·정산금 합계가 표시된 결과와 일치하는지 확인",
    "BO 계정으로 당월 입금자명 없이 조회 시 BO 자신의 정산만 표시되는지 확인",
    "BO 계정에서 입금자명 김경주 검색 시 결과가 0건이고, 검색 전 목록의 건수·금액과 검색 후 0건·0원 상태가 구분되는지 확인",
    "CO 계정으로 전월 입금자명 없이 조회 시 CO 자신의 정산만 표시되고 입금자명 없는 정산의 입금자명 칸이 비어 있는지 확인",
    "CO 계정에서 입금자명 김경주 검색 시 0건이며, 검색어를 지우고 다시 조회하면 처음 기록한 CO 목록 건수·금액과 동일하게 복구되는지 확인"
  ],
  "setupSteps": [
    {
      "name": "ADMIN 정산내역 및 비동기 Excel 접근",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "application": "admin",
      "description": "개발계 기본 ADMIN 계정으로 정산관리 > 정산내역과 문서보관함에 접근하고 당월 정산 Excel을 생성할 수 있어야 한다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "VE/BO/CO 정산 데이터 및 로그인 계정 준비",
      "kind": "manual-precondition",
      "role": "VE",
      "targetRoles": [
        "VE",
        "BO",
        "CO"
      ],
      "application": "store",
      "description": "이슈 전용 envRole QA3869_VE/BO/CO에 요청 계정을 주입한다. VE와 BO는 당월, CO는 전월 정산 데이터가 준비되어 있어야 한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "비스킷링크 정산내역",
      "application": "admin",
      "roles": [
        "ADMIN"
      ],
      "path": "/settlement-history/settlement-details",
      "tenantParam": "tenantId",
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "recordsSelector": "table tbody tr, [role='row']",
      "excelDocumentPath": "/document",
      "excelDocumentFileNameIncludes": "정산내역",
      "excelDocumentReadyTimeoutMs": 90000,
      "dataRequestUrlPattern": "/api/v1/settlement"
    },
    {
      "name": "비스킷페이 정산내역",
      "application": "store",
      "roles": [
        "VE",
        "BO",
        "CO"
      ],
      "path": "/settlement",
      "tenantParam": "tenantId",
      "searchButtonSelector": "button:has-text('조회')",
      "recordsSelector": "li:has-text('입금자명:')",
      "dataRequestUrlPattern": "/api/v1/store/settlements"
    }
  ]
}
