{
  "issueId": "3616",
  "environment": "dev",
  "source": "Redmine #3616 + user-provided QA checklist 2026-06-23",
  "scenario": "bond-management-permission",
  "sourceText": "김경주님의 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 https://itsm.bix.bz/issues/3616. [2] 사전 데이터 채권관리에서 조회 가능한 법인/영업점/가맹점 채권 데이터 준비. admin, ta, co 권한별 테스트 계정 준비. ta 확인 계정 ta_test_gj / 연결 법인 안법인, co 확인 계정 co_test_gj / 부서 안법인. ta/co 계정 기준 안법인, 안영업, 안가맹 채권 데이터 준비 완료. ta/co 계정에서 조회되면 안 되는 다른 법인/영업점/가맹점 채권 데이터 준비. co 계정으로 안법인 채권 row가 목록에 표시되고 해당 row의 등록/수정/조정 제한을 확인할 수 있는 데이터 준비. ta 계정으로 안법인, 안영업, 안가맹 채권 등록/수정/조정 가능 여부를 확인할 수 있는 데이터 준비. [3] 사전 작업 각 권한으로 로그인. 정산 > 채권관리 메뉴 진입. 채권관리 화면에서 조회 기간을 2026.04.01 ~ 2026.06.22로 설정. 상세보기, 채권유입이력도 동일한 조회 기간 기준으로 확인. 채권 등록/수정 시 PG 계약은 안법인 코페이 계약 선택. 채권 등록/수정 시 부서는 검증 대상 부서 선택. 채권 등록/수정 시 영업라인은 계약에 맞는 영업라인을 선택하고 동일한 계약명인지 확인. 영업라인 선택 예시: 안가맹/testmid123/안법인 코페이 계약. [4] 권한별 테스트 admin, ta, co. [5] 검증 대상 채권관리 목록 화면, 채권 상세보기 화면, 채권 등록/수정 권한 범위, 전체 조정, 미수금 조정, 채권유입이력 화면, 채권엑셀 파일, admin/ta/co 권한별 채권 조회/등록/수정/조정 범위. [6] 체크리스트는 checklist 배열 참조.",
  "scope": "dev 환경에서 정산 > 채권관리 화면을 2026-04-01~2026-06-22 기간으로 조회해 TA/CO 권한의 안법인 및 하위 안영업/안가맹 채권 범위, 상세보기/채권유입이력 기간 조회, 등록자 컬럼 권한, 채권 등록/수정 제한, 조정 권한 차단, 채권엑셀 컬럼과 부서 유형 표기를 검증한다.",
  "roles": [
    "ADMIN",
    "TA",
    "CO"
  ],
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "bigs_jjm",
      "envRole": "ADMIN"
    },
    {
      "role": "TA",
      "label": "ta_test_gj",
      "envRole": "TA_TEST_GJ",
      "departmentName": "안법인"
    },
    {
      "role": "CO",
      "label": "co_test_gj",
      "envRole": "CO_TEST_GJ",
      "departmentName": "안법인"
    }
  ],
  "checklist": [
    "ta로 채권관리 화면에 진입했을 때 연결 법인인 안법인 및 관련 하위 영업점/가맹점 채권만 목록에 표시되는지 확인",
    "ta로 채권관리 화면에 진입했을 때 다른 법인/영업점/가맹점 채권은 목록에 표시되지 않는지 확인",
    "co로 채권관리 화면에 진입했을 때 안법인, 안영업, 안가맹 채권만 목록에 표시되는지 확인",
    "co로 채권관리 화면에 진입했을 때 다른 법인/영업점/가맹점 채권은 목록에 표시되지 않는지 확인",
    "상세보기에서 조회 기간을 2026.04.01 ~ 2026.06.22로 동일하게 설정했을 때 해당 기간의 내역이 표시되는지 확인",
    "채권유입이력에서 조회 기간을 2026.04.01 ~ 2026.06.22로 동일하게 설정했을 때 해당 기간의 내역이 표시되는지 확인",
    "ta로 안법인, 안영업, 안가맹 대상 채권 등록이 가능한지 확인",
    "co로 채권 등록 시 자기 법인인 안법인은 저장할 수 없고, 안영업, 안가맹만 저장 가능한지 확인",
    "ta로 안법인, 안영업, 안가맹 대상 채권 수정이 가능한지 확인",
    "co로 채권 수정 시 자기 법인인 안법인은 저장할 수 없고, 안영업, 안가맹만 저장 가능한지 확인",
    "co가 안법인을 대상으로 채권 등록/수정을 선택 또는 저장 시도한 경우 채권 등록/수정은 하위 영업점 또는 가맹점에만 할 수 있습니다. 메시지가 표시되는지 확인",
    "ta로 전체 조정 시 안법인, 안영업, 안가맹 모두 조정 처리 가능한지 확인",
    "co로 전체 조정 시 안영업, 안가맹은 조정 처리 가능한지 확인",
    "co로 전체 조정 시 안법인을 조정하면 권한이 없습니다 메시지가 표시되는지 확인",
    "ta로 미수금 조정 시 안법인, 안영업, 안가맹 모두 조정 처리 가능한지 확인",
    "co로 미수금 조정 시 안영업, 안가맹은 조정 처리 가능한지 확인",
    "co로 미수금 조정 시 안법인을 조정하면 권한이 없습니다 메시지가 표시되는지 확인",
    "admin은 채권유입이력 화면에서 등록자 컬럼이 표시되는지 확인",
    "ta/co는 채권유입이력 화면에서 등록자 컬럼이 표시되지 않는지 확인",
    "채권엑셀 파일 컬럼에 채권 총액, 반환 총액, 잔여 채권 총액이 표시되는지 확인",
    "채권엑셀 파일의 부서 유형 값이 CO/BO/VE와 같은 형식이 아니라 법인/영업점/가맹점으로 표시되는지 확인"
  ],
  "setupSteps": [
    {
      "name": "ADMIN/TA/CO 개발계 로그인 및 채권관리 접근 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO"
      ],
      "description": "ADMIN, ta_test_gj, co_test_gj 계정으로 개발계 전산 로그인이 가능하고 정산 > 채권관리 화면에 접근할 수 있어야 한다.",
      "required": true,
      "mutation": "none",
      "navigation": {
        "name": "채권관리",
        "path": "/bond-management"
      }
    },
    {
      "name": "채권 조회/등록/수정 테스트 데이터 확인",
      "kind": "state-verify",
      "role": "TA",
      "application": "admin",
      "description": "2026-04-01~2026-06-22 기간에 안법인/안영업/안가맹 채권 row가 존재하고, 안법인 코페이 계약 및 testmid123 영업라인이 등록/수정 API에서 조회되어야 한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "채권관리",
      "application": "admin",
      "path": "/bond-management",
      "tenantParam": "tenantId",
      "roles": [
        "ADMIN",
        "TA",
        "CO"
      ],
      "searchButtonSelector": "button:has-text('검색'), button:has-text('조회')",
      "dataRequestUrlPattern": "ar-dunning-process-targets",
      "excelDocumentPath": "/document",
      "excelDocumentFileNameIncludes": "채권",
      "excelResponseUrlPattern": "\\.xlsx(\\?|$)|cloudflarestorage.*excel",
      "excelExpectedColumnHeaders": [
        "채권 총액",
        "반환 총액",
        "잔여 채권 총액"
      ]
    }
  ]
}
