{
  "issueId": "3708",
  "environment": "dev",
  "scenario": "telecom-fee-summary-excel",
  "source": "Redmine #3708 + user-provided QA checklist 2026-07-03",
  "sourceText": "김경주님의 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 https://itsm.bix.bz/issues/3708. 통신비관리 화면에서 조회기간을 2026-07-02(260702)로 지정했을 때 상단 요약과 엑셀 다운로드 결과가 같은 기준으로 조회되는지 확인 요청입니다. [2] 사전 데이터 조회기간은 2026-07-02 단일일자로 확인합니다. 해당 조회기간에 통신비관리 목록과 상세 내역이 조회되는 데이터가 필요합니다. 납부 완료 건과 미납 건이 함께 포함된 데이터로 확인합니다. 마지막 거래가 있는 대상과 없는 대상이 함께 포함되면 같이 확인합니다. [3] 사전 작업 admin 계정으로 로그인 가능 여부를 확인합니다. 정산관리 > 통신비관리 메뉴 접근 가능 여부를 확인합니다. 조회기간 시작일과 종료일을 모두 2026-07-02로 설정합니다. 브라우저 파일 다운로드 허용 상태를 확인합니다. [4] 권한별 테스트 admin. [5] 검증 대상 어드민 정산관리 > 통신비관리 화면, 검색 조건과 목록, 상단 요약 영역, 엑셀 다운로드 파일. [6] 체크리스트는 checklist 배열 참조.",
  "scope": "dev 환경 ADMIN 계정으로 정산관리 > 통신비관리 조회기간을 2026-07-02 단일일자로 맞추고, 화면 상단 요약/list/detail API와 통신비관리 엑셀 다운로드 파일의 상세 행/합계/라벨/마지막 거래 빈 값이 같은 기준인지 검증한다.",
  "roles": [
    "ADMIN"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "bigs_jjm",
      "envRole": "ADMIN"
    }
  ],
  "checklist": [
    "조회기간 2026-07-02(260702)로 검색했을 때 목록과 상단 요약이 함께 갱신되는지 확인합니다.",
    "상단 요약의 전체/납부/미납 건수가 화면 목록과 상세 상태 기준으로 어긋나지 않는지 확인합니다.",
    "상단 요약의 조회기간 통신요금이 엑셀의 상세 통신요금 합계와 같은 기준인지 확인합니다.",
    "상단 요약의 미납 통신요금이 엑셀에서 납부 완료가 아닌 상세 내역의 합계와 같은 기준인지 확인합니다.",
    "엑셀 다운로드 시 화면에 적용한 조회기간과 검색 조건이 그대로 반영되는지 확인합니다.",
    "엑셀의 부서 유형, 가맹점 상태, 상세 상태, 납부 방식이 영문 코드가 아니라 한국어로 표시되는지 확인합니다.",
    "상세 내역이 여러 건인 대상은 상세 1건당 엑셀 1행으로 표시되고, 법인/가맹점/요금 정보가 각 행에 반복 표시되는지 확인합니다.",
    "마지막 거래가 없는 대상은 엑셀의 마지막 거래일과 마지막 거래 경과일이 빈 값으로 표시되는지 확인합니다.",
    "조회기간을 다른 날짜로 검색한 뒤 다시 2026-07-02(260702)로 검색해 엑셀을 다운로드했을 때, 이전 검색 결과가 섞이지 않는지 확인합니다."
  ],
  "setupSteps": [
    {
      "name": "ADMIN 개발계 로그인 및 메뉴 접근 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "description": "ADMIN 계정으로 개발계 전산 로그인이 가능하고 정산관리 > 통신비관리 화면에 접근할 수 있어야 한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "통신비관리",
        "path": "/settlement-history/communication-settlement"
      }
    },
    {
      "name": "2026-07-02 통신비 상세 데이터 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "description": "2026-07-02 단일일자 조건에서 목록과 상세가 조회되고 납부 완료/미납 상세 건, 마지막 거래가 없는 대상이 포함되어야 한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "통신비관리",
        "path": "/settlement-history/communication-settlement?from=2026-07-02&to=2026-07-02&exactMatch=false"
      }
    }
  ],
  "pages": [
    {
      "name": "통신비관리",
      "application": "admin",
      "path": "/settlement-history/communication-settlement",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "excelDownloadButtonSelector": "button:has-text('엑셀')",
      "excelDocumentPath": "/document",
      "excelDocumentFileNameIncludes": "통신비관리",
      "excelDocumentDownloadSelector": "button:has-text('다운로드'), a:has-text('다운로드'), [role='button']:has-text('다운로드')",
      "excelResponseUrlPattern": "\\.xlsx(\\?|$)|cloudflarestorage.*excel|r2\\.cloudflarestorage\\.com.*\\.xlsx",
      "excelDocumentReadyTimeoutMs": 90000,
      "dataRequestUrlPattern": "fee/telecom"
    }
  ]
}
