2026-01-30 10:50:38 +09:00
|
|
|
{
|
|
|
|
|
"id": "bad-debt-collection",
|
|
|
|
|
"name": "대손채권회수 테스트",
|
|
|
|
|
"screenshotPolicy": {
|
|
|
|
|
"onErrorOnly": true,
|
|
|
|
|
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
|
|
|
|
},
|
|
|
|
|
"description": "회계관리 > 대손채권회수 메뉴의 체크박스 선택, 수정 모드, 입력 필드, 메모 추가, 서류 업로드, 이동 버튼 기능 전체 테스트",
|
|
|
|
|
"baseUrl": "https://dev.codebridge-x.com",
|
|
|
|
|
"url": "/ko/accounting/bad-debt-collection",
|
|
|
|
|
"menuNavigation": {
|
|
|
|
|
"level1": "회계관리",
|
|
|
|
|
"level2": "악성채권추심관리",
|
|
|
|
|
"expectedUrl": "/ko/accounting/bad-debt-collection"
|
|
|
|
|
},
|
2026-01-30 21:47:29 +09:00
|
|
|
"navigation": {
|
|
|
|
|
"targetUrl": "/accounting/bad-debt-collection",
|
|
|
|
|
"urlPattern": "/accounting/bad-debt-collection|/ko/accounting/bad-debt-collection",
|
|
|
|
|
"menuHints": ["악성채권추심관리", "대손", "채권", "회계관리"]
|
|
|
|
|
},
|
2026-01-30 10:50:38 +09:00
|
|
|
"menuNavigationEnhanced": {
|
|
|
|
|
"strategy": "scroll-and-search",
|
|
|
|
|
"sidebarSelector": ".sidebar-scroll, [class*='sidebar'], nav[class*='menu']",
|
|
|
|
|
"scrollConfig": {
|
|
|
|
|
"scrollStep": 200,
|
|
|
|
|
"maxScrollAttempts": 10,
|
|
|
|
|
"scrollDelay": 300
|
|
|
|
|
},
|
|
|
|
|
"level1": {
|
|
|
|
|
"text": "회계관리",
|
|
|
|
|
"fallbackSelectors": [
|
|
|
|
|
"span:has-text('회계관리')",
|
|
|
|
|
"[class*='menu-item']:has-text('회계관리')",
|
|
|
|
|
"a:has-text('회계관리')"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"level2": {
|
|
|
|
|
"text": "악성채권추심관리",
|
|
|
|
|
"fallbackSelectors": [
|
|
|
|
|
"span:has-text('악성채권추심관리')",
|
|
|
|
|
"[class*='submenu']:has-text('악성채권추심관리')",
|
|
|
|
|
"a:has-text('악성채권추심관리')"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"expectedUrl": "/ko/accounting/bad-debt-collection"
|
|
|
|
|
},
|
|
|
|
|
"testFocus": {
|
|
|
|
|
"primary": "수정 페이지 전체 입력 필드 및 메모/서류 추가 기능 검증",
|
|
|
|
|
"description": "체크박스 선택 시 수정 버튼 활성화, 수정 페이지 모든 입력 필드 테스트, 메모 추가/삭제, 추가 서류 업로드, 이동 버튼 동작 확인"
|
|
|
|
|
},
|
|
|
|
|
"prerequisites": {
|
|
|
|
|
"authentication": true,
|
|
|
|
|
"testData": {
|
|
|
|
|
"vendorName": "테스트거래처",
|
|
|
|
|
"businessNumber": "123-45-67890",
|
|
|
|
|
"representativeName": "홍길동",
|
|
|
|
|
"address": {
|
|
|
|
|
"zipCode": "06234",
|
|
|
|
|
"address1": "서울특별시 강남구 테헤란로",
|
|
|
|
|
"address2": "123호"
|
|
|
|
|
},
|
|
|
|
|
"contact": {
|
|
|
|
|
"phone": "02-1234-5678",
|
|
|
|
|
"mobile": "010-1234-5678",
|
|
|
|
|
"fax": "02-1234-5679",
|
|
|
|
|
"email": "test@example.com"
|
|
|
|
|
},
|
|
|
|
|
"debtInfo": {
|
|
|
|
|
"amount": 5000000,
|
|
|
|
|
"overdueDays": 90,
|
|
|
|
|
"status": "collecting"
|
|
|
|
|
},
|
|
|
|
|
"memo": "테스트 메모 내용입니다.",
|
|
|
|
|
"file": {
|
|
|
|
|
"businessRegistration": "사업자등록증.pdf",
|
|
|
|
|
"taxInvoice": "세금계산서.pdf",
|
|
|
|
|
"additional": "추가서류1.pdf"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"expectedAPIs": [
|
|
|
|
|
{
|
|
|
|
|
"method": "GET",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts",
|
|
|
|
|
"description": "대손채권 목록 조회"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"method": "GET",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts/{id}",
|
|
|
|
|
"description": "대손채권 상세 조회"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"method": "PUT",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts/{id}",
|
|
|
|
|
"description": "대손채권 수정"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"method": "POST",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts/{id}/memos",
|
|
|
|
|
"description": "메모 추가"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"method": "DELETE",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts/{id}/memos/{memoId}",
|
|
|
|
|
"description": "메모 삭제"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"method": "POST",
|
|
|
|
|
"endpoint": "/api/v1/bad-debts/{id}/documents",
|
|
|
|
|
"description": "서류 업로드"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"steps": [
|
|
|
|
|
{
|
|
|
|
|
"id": "step-0",
|
2026-01-30 16:26:52 +09:00
|
|
|
"name": "사이드바 메뉴 전체 펼치기",
|
|
|
|
|
"description": "모두 펼치기 버튼을 클릭하여 전체 메뉴를 펼친 후 메뉴 탐색 준비",
|
2026-01-30 10:50:38 +09:00
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "evaluate",
|
|
|
|
|
"script": "document.querySelector('.sidebar-scroll, [class*=\"sidebar\"] > div')?.scrollTo({top: 0, behavior: 'instant'})"
|
|
|
|
|
},
|
2026-01-30 16:26:52 +09:00
|
|
|
{ "type": "wait", "duration": 300 },
|
|
|
|
|
{
|
|
|
|
|
"type": "evaluate",
|
|
|
|
|
"script": "Array.from(document.querySelectorAll('button')).find(b => b.innerText?.includes('모두 펼치기'))?.click()"
|
|
|
|
|
},
|
|
|
|
|
{ "type": "wait", "duration": 2000 }
|
2026-01-30 10:50:38 +09:00
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"sidebarReady": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-1",
|
|
|
|
|
"name": "2단계 메뉴 진입: 회계관리 > 악성채권추심관리",
|
|
|
|
|
"description": "회계관리 > 악성채권추심관리 메뉴로 이동하여 페이지 로드 확인 (scrollAndFind 패턴 사용)",
|
|
|
|
|
"navigationPattern": "scrollAndFind",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "scrollAndFind",
|
|
|
|
|
"target": "회계관리",
|
|
|
|
|
"config": {
|
|
|
|
|
"scrollContainer": ".sidebar-scroll, [class*='sidebar']",
|
|
|
|
|
"scrollStep": 200,
|
|
|
|
|
"maxAttempts": 10,
|
|
|
|
|
"waitAfterScroll": 300
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{ "type": "click", "target": "회계관리" },
|
|
|
|
|
{ "type": "wait", "duration": 500 },
|
|
|
|
|
{
|
|
|
|
|
"type": "scrollAndFind",
|
|
|
|
|
"target": "악성채권추심관리",
|
|
|
|
|
"config": {
|
|
|
|
|
"scrollContainer": ".sidebar-scroll, [class*='sidebar']",
|
|
|
|
|
"scrollStep": 200,
|
|
|
|
|
"maxAttempts": 10,
|
|
|
|
|
"waitAfterScroll": 300
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{ "type": "click", "target": "악성채권추심관리" },
|
|
|
|
|
{ "type": "wait", "target": "페이지 로드 완료" }
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"url": "/ko/accounting/bad-debt-collection",
|
|
|
|
|
"pageTitle": "악성채권추심관리",
|
|
|
|
|
"elements": ["통계 카드", "검색창", "필터", "테이블"],
|
|
|
|
|
"authenticated": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-2",
|
|
|
|
|
"name": "페이지 구조 확인",
|
|
|
|
|
"description": "통계 카드, 필터, 테이블 컬럼 구조 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "페이지 구조"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"stats": ["총 악성채권", "추심중", "법적조치", "회수완료"],
|
|
|
|
|
"filters": ["거래처 필터", "상태 필터", "정렬"],
|
|
|
|
|
"tableColumns": ["체크박스", "No.", "거래처", "채권금액", "발생일", "연체일수", "담당자", "상태", "설정", "작업"]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-3",
|
|
|
|
|
"name": "필터 및 검색 기능 테스트",
|
|
|
|
|
"description": "거래처 필터, 상태 필터, 정렬, 검색 기능 동작 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "select",
|
|
|
|
|
"target": "상태 필터",
|
|
|
|
|
"value": "추심중"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "데이터 필터링"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "필터링된 데이터"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"filterApplied": true,
|
|
|
|
|
"dataFiltered": "추심중 상태만 표시"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-4",
|
|
|
|
|
"name": "체크박스 선택 전 작업 버튼 확인",
|
|
|
|
|
"description": "체크박스 미선택 시 수정/삭제 버튼이 표시되지 않는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "작업 컬럼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"editButtonVisible": false,
|
|
|
|
|
"deleteButtonVisible": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-5",
|
|
|
|
|
"name": "첫 번째 행 체크박스 선택",
|
|
|
|
|
"description": "첫 번째 행의 체크박스 클릭하여 선택",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "첫 번째 행 체크박스"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "체크박스 선택 반영"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"checkboxChecked": true,
|
|
|
|
|
"rowHighlighted": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-6",
|
|
|
|
|
"name": "수정 버튼 표시 확인",
|
|
|
|
|
"description": "체크박스 선택 후 작업 컬럼에 수정/삭제 버튼이 표시되는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "작업 컬럼 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"editButtonVisible": true,
|
|
|
|
|
"deleteButtonVisible": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-7",
|
|
|
|
|
"name": "수정 버튼 클릭",
|
|
|
|
|
"description": "수정 버튼 클릭하여 수정 페이지로 이동",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "수정 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 이동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"urlPattern": "/accounting/bad-debt-collection/{id}?mode=edit",
|
|
|
|
|
"pageTitle": "악성채권추심관리 상세",
|
|
|
|
|
"formMode": "edit"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-8",
|
|
|
|
|
"name": "수정 페이지 구조 확인",
|
|
|
|
|
"description": "수정 페이지의 모든 섹션 및 버튼 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "페이지 섹션 및 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"sections": ["기본 정보", "연락처 정보", "담당자 정보", "필요 서류", "악성 채권 정보", "메모"],
|
|
|
|
|
"headerButtons": ["취소", "저장"],
|
|
|
|
|
"linkButtons": ["수취 어음 현황", "거래처 미수금 현황"]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-9",
|
|
|
|
|
"name": "기본 정보 섹션 - 사업자등록번호 (읽기전용)",
|
|
|
|
|
"description": "사업자등록번호 필드가 읽기 전용인지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "사업자등록번호 필드"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fieldDisabled": true,
|
|
|
|
|
"fieldValue": "존재"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-10",
|
|
|
|
|
"name": "기본 정보 섹션 - 거래처 코드 (읽기전용)",
|
|
|
|
|
"description": "거래처 코드 필드가 읽기 전용인지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "거래처 코드 필드"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fieldDisabled": true,
|
|
|
|
|
"fieldValue": "존재"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-11",
|
|
|
|
|
"name": "기본 정보 섹션 - 거래처명 입력",
|
|
|
|
|
"description": "거래처명 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "거래처명 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "거래처명 입력 필드",
|
|
|
|
|
"value": "수정된 테스트거래처"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fieldEditable": true,
|
|
|
|
|
"valueUpdated": "수정된 테스트거래처"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-12",
|
|
|
|
|
"name": "기본 정보 섹션 - 대표자명 입력",
|
|
|
|
|
"description": "대표자명 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "대표자명 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "대표자명 입력 필드",
|
|
|
|
|
"value": "홍길동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fieldEditable": true,
|
|
|
|
|
"valueUpdated": "홍길동"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-13",
|
|
|
|
|
"name": "기본 정보 섹션 - 악성채권 등록 토글",
|
|
|
|
|
"description": "악성채권 등록 스위치 토글 동작 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "악성채권 등록 Switch"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "스위치 상태 변경"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"switchToggled": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-14",
|
|
|
|
|
"name": "기본 정보 섹션 - 업태/업종 입력",
|
|
|
|
|
"description": "업태, 업종 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "업태 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "업태 입력 필드",
|
|
|
|
|
"value": "도소매업"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "업종 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "업종 입력 필드",
|
|
|
|
|
"value": "전자상거래"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"businessTypeUpdated": "도소매업",
|
|
|
|
|
"businessCategoryUpdated": "전자상거래"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-15",
|
|
|
|
|
"name": "연락처 정보 섹션 - 우편번호 찾기 버튼",
|
|
|
|
|
"description": "우편번호 찾기 버튼 클릭 시 Daum 우편번호 서비스 팝업 표시",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "우편번호 찾기 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "팝업 표시"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"popupOpened": true,
|
|
|
|
|
"popupType": "Daum 우편번호 서비스"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-16",
|
|
|
|
|
"name": "연락처 정보 섹션 - 주소 입력",
|
|
|
|
|
"description": "기본주소 및 상세주소 입력 테스트 (우편번호 팝업 닫은 후)",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "escape",
|
|
|
|
|
"target": "팝업 닫기"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "상세주소 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "상세주소 입력 필드",
|
|
|
|
|
"value": "456호"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"address2Updated": "456호"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-17",
|
|
|
|
|
"name": "연락처 정보 섹션 - 전화번호 입력",
|
|
|
|
|
"description": "전화번호 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "전화번호 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "전화번호 입력 필드",
|
|
|
|
|
"value": "02-9999-8888"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"phoneUpdated": "02-9999-8888"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-18",
|
|
|
|
|
"name": "연락처 정보 섹션 - 모바일 입력",
|
|
|
|
|
"description": "모바일 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "모바일 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "모바일 입력 필드",
|
|
|
|
|
"value": "010-9999-8888"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"mobileUpdated": "010-9999-8888"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-19",
|
|
|
|
|
"name": "연락처 정보 섹션 - 팩스 입력",
|
|
|
|
|
"description": "팩스 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "팩스 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "팩스 입력 필드",
|
|
|
|
|
"value": "02-9999-8889"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"faxUpdated": "02-9999-8889"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-20",
|
|
|
|
|
"name": "연락처 정보 섹션 - 이메일 입력",
|
|
|
|
|
"description": "이메일 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "이메일 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "이메일 입력 필드",
|
|
|
|
|
"value": "updated@example.com"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"emailUpdated": "updated@example.com"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-21",
|
|
|
|
|
"name": "담당자 정보 섹션 - 담당자명 입력",
|
|
|
|
|
"description": "담당자명 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "담당자명 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "담당자명 입력 필드",
|
|
|
|
|
"value": "김담당"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"contactNameUpdated": "김담당"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-22",
|
|
|
|
|
"name": "담당자 정보 섹션 - 담당자 전화 입력",
|
|
|
|
|
"description": "담당자 전화 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "담당자 전화 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "담당자 전화 입력 필드",
|
|
|
|
|
"value": "010-1111-2222"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"contactPhoneUpdated": "010-1111-2222"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-23",
|
|
|
|
|
"name": "필요 서류 섹션 - 사업자등록증 업로드 확인",
|
|
|
|
|
"description": "사업자등록증 파일 업로드 필드 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "사업자등록증 파일 입력"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fileInputExists": true,
|
|
|
|
|
"acceptTypes": ".pdf,.jpg,.jpeg,.png"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-24",
|
|
|
|
|
"name": "필요 서류 섹션 - 세금계산서 업로드 확인",
|
|
|
|
|
"description": "세금계산서 파일 업로드 필드 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "세금계산서 파일 입력"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"fileInputExists": true,
|
|
|
|
|
"acceptTypes": ".pdf,.jpg,.jpeg,.png"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-25",
|
|
|
|
|
"name": "필요 서류 섹션 - 추가 서류 추가 버튼 확인",
|
|
|
|
|
"description": "추가 서류 섹션에 추가 버튼이 존재하는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "추가 서류 추가 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"addButtonExists": true,
|
|
|
|
|
"buttonText": "추가"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-26",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 미수금 입력",
|
|
|
|
|
"description": "미수금 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "미수금 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "미수금 입력 필드",
|
|
|
|
|
"value": "7500000"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"debtAmountUpdated": 7500000
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-27",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 상태 선택",
|
|
|
|
|
"description": "상태 드롭다운에서 값 선택 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "상태 드롭다운"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "select",
|
|
|
|
|
"target": "상태 옵션",
|
|
|
|
|
"value": "법적조치"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"statusUpdated": "legalAction",
|
|
|
|
|
"optionSelected": "법적조치"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-28",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 연체일수 입력",
|
|
|
|
|
"description": "연체일수 필드에 값 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "연체일수 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "연체일수 입력 필드",
|
|
|
|
|
"value": "120"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"overdueDaysUpdated": 120
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-29",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 본사 담당자 선택",
|
|
|
|
|
"description": "본사 담당자 드롭다운에서 값 선택 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "본사 담당자 드롭다운"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "select",
|
|
|
|
|
"target": "담당자 옵션",
|
|
|
|
|
"value": "첫 번째 담당자"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"managerSelected": true,
|
|
|
|
|
"managerName": "존재"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-30",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 악성채권 발생일 입력",
|
|
|
|
|
"description": "악성채권 발생일 필드에 날짜 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "악성채권 발생일 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "악성채권 발생일 입력 필드",
|
|
|
|
|
"value": "2025-12-01"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"occurrenceDateUpdated": "2025-12-01"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-31",
|
|
|
|
|
"name": "악성 채권 정보 섹션 - 악성채권 종료일 입력",
|
|
|
|
|
"description": "악성채권 종료일 필드에 날짜 입력 테스트",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "악성채권 종료일 입력 필드"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "악성채권 종료일 입력 필드",
|
|
|
|
|
"value": "2026-03-01"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"endDateUpdated": "2026-03-01"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-32",
|
|
|
|
|
"name": "이동 버튼 - 수취 어음 현황 버튼 확인",
|
|
|
|
|
"description": "수취 어음 현황 버튼 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "수취 어음 현황 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"buttonExists": true,
|
|
|
|
|
"buttonText": "수취 어음 현황"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-33",
|
|
|
|
|
"name": "이동 버튼 - 수취 어음 현황 클릭",
|
|
|
|
|
"description": "수취 어음 현황 버튼 클릭 시 해당 페이지로 이동하는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "수취 어음 현황 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 이동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"urlPattern": "/accounting/bills?vendorId={id}&type=received",
|
|
|
|
|
"pageChanged": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-34",
|
|
|
|
|
"name": "이동 후 뒤로가기 (수취 어음 현황 → 대손채권회수 수정)",
|
|
|
|
|
"description": "브라우저 뒤로가기로 대손채권회수 수정 페이지로 복귀",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "back",
|
|
|
|
|
"target": "브라우저 뒤로가기"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 로드"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"urlPattern": "/accounting/bad-debt-collection/{id}?mode=edit",
|
|
|
|
|
"pageRestored": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-35",
|
|
|
|
|
"name": "이동 버튼 - 거래처 미수금 현황 버튼 확인",
|
|
|
|
|
"description": "거래처 미수금 현황 버튼 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "거래처 미수금 현황 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"buttonExists": true,
|
|
|
|
|
"buttonText": "거래처 미수금 현황"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-36",
|
|
|
|
|
"name": "이동 버튼 - 거래처 미수금 현황 클릭",
|
|
|
|
|
"description": "거래처 미수금 현황 버튼 클릭 시 해당 페이지로 이동하는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "거래처 미수금 현황 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 이동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"urlPattern": "/accounting/receivables-status?highlight={vendorId}",
|
|
|
|
|
"pageChanged": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-37",
|
|
|
|
|
"name": "이동 후 뒤로가기 (거래처 미수금 현황 → 대손채권회수 수정)",
|
|
|
|
|
"description": "브라우저 뒤로가기로 대손채권회수 수정 페이지로 복귀",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "back",
|
|
|
|
|
"target": "브라우저 뒤로가기"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 로드"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"urlPattern": "/accounting/bad-debt-collection/{id}?mode=edit",
|
|
|
|
|
"pageRestored": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-38",
|
|
|
|
|
"name": "메모 섹션 - 메모 입력 필드 확인",
|
|
|
|
|
"description": "메모 입력 Textarea 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "메모 입력 Textarea"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"textareaExists": true,
|
|
|
|
|
"placeholder": "메모를 입력하세요..."
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-39",
|
|
|
|
|
"name": "메모 섹션 - 메모 추가 버튼 확인",
|
|
|
|
|
"description": "메모 추가 버튼 존재 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "메모 추가 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"buttonExists": true,
|
|
|
|
|
"buttonText": "추가"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-40",
|
|
|
|
|
"name": "메모 섹션 - 메모 입력",
|
|
|
|
|
"description": "메모 입력 필드에 텍스트 입력",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "메모 입력 Textarea"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "메모 입력 Textarea",
|
|
|
|
|
"value": "이것은 테스트 메모입니다."
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"memoEntered": "이것은 테스트 메모입니다."
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-41",
|
|
|
|
|
"name": "메모 섹션 - 메모 추가 버튼 클릭",
|
|
|
|
|
"description": "메모 추가 버튼 클릭하여 메모 추가",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "메모 추가 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "메모 추가 완료"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"memoAdded": true,
|
|
|
|
|
"memoListUpdated": "메모 카드 표시됨"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-42",
|
|
|
|
|
"name": "메모 섹션 - 추가된 메모 확인",
|
|
|
|
|
"description": "추가된 메모가 메모 리스트에 표시되는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "메모 리스트"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"memoDisplayed": true,
|
|
|
|
|
"memoContent": "이것은 테스트 메모입니다."
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-43",
|
|
|
|
|
"name": "메모 섹션 - 추가 메모 입력",
|
|
|
|
|
"description": "두 번째 메모 입력 및 추가",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "clear",
|
|
|
|
|
"target": "메모 입력 Textarea"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "type",
|
|
|
|
|
"target": "메모 입력 Textarea",
|
|
|
|
|
"value": "두 번째 테스트 메모"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "메모 추가 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "메모 추가 완료"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"memoAdded": true,
|
|
|
|
|
"memoCount": 2
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-44",
|
|
|
|
|
"name": "메모 섹션 - 메모 삭제 버튼 확인",
|
|
|
|
|
"description": "메모 카드에 삭제 버튼(X)이 표시되는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "메모 삭제 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"deleteButtonExists": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-45",
|
|
|
|
|
"name": "메모 섹션 - 메모 삭제",
|
|
|
|
|
"description": "첫 번째 메모의 삭제 버튼 클릭하여 삭제",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "첫 번째 메모 삭제 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "메모 삭제 완료"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"memoDeleted": true,
|
|
|
|
|
"memoCount": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-46",
|
|
|
|
|
"name": "저장 버튼 클릭",
|
|
|
|
|
"description": "헤더의 저장 버튼 클릭하여 저장 확인 다이얼로그 표시",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "저장 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "다이얼로그 표시"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"dialogOpened": true,
|
|
|
|
|
"dialogTitle": "저장 확인",
|
|
|
|
|
"dialogMessage": "입력한 내용을 저장하시겠습니까?"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-47",
|
|
|
|
|
"name": "저장 확인 다이얼로그 - 취소 버튼",
|
|
|
|
|
"description": "저장 확인 다이얼로그에서 취소 버튼 클릭",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "다이얼로그 취소 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "다이얼로그 닫힘"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"dialogClosed": true,
|
|
|
|
|
"pageUnchanged": "여전히 수정 페이지"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-48",
|
|
|
|
|
"name": "저장 버튼 재클릭 및 확인",
|
|
|
|
|
"description": "저장 버튼 다시 클릭 후 저장 버튼 클릭하여 저장 수행",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "저장 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "다이얼로그 표시"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "다이얼로그 저장 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "저장 처리 및 페이지 이동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"apiCall": "PUT /api/v1/bad-debts/{id}",
|
|
|
|
|
"apiResponse": "200 OK",
|
|
|
|
|
"urlChanged": "/accounting/bad-debt-collection/{id}",
|
|
|
|
|
"successToast": "악성채권이 수정되었습니다."
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-49",
|
|
|
|
|
"name": "상세 페이지 확인",
|
|
|
|
|
"description": "저장 후 상세 보기 페이지로 이동되었는지 확인",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "verify",
|
|
|
|
|
"target": "페이지 모드 및 버튼"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"pageMode": "view",
|
|
|
|
|
"headerButtons": ["삭제", "수정"],
|
|
|
|
|
"fieldsDisabled": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "step-50",
|
|
|
|
|
"name": "목록으로 돌아가기",
|
|
|
|
|
"description": "뒤로가기 버튼 클릭하여 목록 페이지로 복귀",
|
|
|
|
|
"actions": [
|
|
|
|
|
{
|
|
|
|
|
"type": "click",
|
|
|
|
|
"target": "뒤로가기 버튼"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "wait",
|
|
|
|
|
"target": "페이지 이동"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"expected": {
|
|
|
|
|
"url": "/accounting/bad-debt-collection",
|
|
|
|
|
"pageTitle": "악성채권추심관리"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"cleanup": {
|
|
|
|
|
"description": "테스트 후 입력된 데이터는 DB에 저장됨 (필요시 수동 정리)",
|
|
|
|
|
"actions": []
|
|
|
|
|
},
|
|
|
|
|
"notes": [
|
|
|
|
|
"체크박스 선택 시 수정/삭제 버튼이 표시되는지 확인",
|
|
|
|
|
"수정 페이지의 모든 입력 필드 (기본 정보, 연락처, 담당자, 악성 채권 정보) 입력 테스트",
|
|
|
|
|
"메모 추가 버튼 클릭 시 메모 리스트에 추가되는지 확인",
|
|
|
|
|
"메모 삭제 버튼(X) 클릭 시 메모가 삭제되는지 확인",
|
|
|
|
|
"추가 서류 추가 버튼이 존재하는지 확인 (실제 파일 업로드는 브라우저 제약으로 스킵)",
|
|
|
|
|
"수취 어음 현황 버튼 클릭 시 /accounting/bills 페이지로 이동하는지 확인",
|
|
|
|
|
"거래처 미수금 현황 버튼 클릭 시 /accounting/receivables-status 페이지로 이동하는지 확인",
|
|
|
|
|
"저장 버튼 클릭 시 저장 확인 다이얼로그 표시 및 API 호출 확인",
|
|
|
|
|
"저장 완료 후 상세 보기 페이지로 이동하는지 확인"
|
|
|
|
|
]
|
|
|
|
|
}
|