feat : test case sample
This commit is contained in:
326
testcase/TC_VENDOR_MANAGEMENT.md
Normal file
326
testcase/TC_VENDOR_MANAGEMENT.md
Normal file
@@ -0,0 +1,326 @@
|
||||
# TC - 거래처관리 (Vendor Management)
|
||||
|
||||
> **페이지**: https://dev.sam.kr/accounting/vendors
|
||||
> **작성일**: 2026-01-29
|
||||
> **대상**: QC Playwright AI 테스트용
|
||||
|
||||
---
|
||||
|
||||
## 1. 목록 페이지 (List View)
|
||||
|
||||
### 1.1 페이지 로딩
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-001 | 기본 | 페이지 접근 | `/accounting/vendors` 정상 로딩, 테이블 표시 |
|
||||
| L-002 | 기본 | 통계 카드 표시 | 상단에 "전체 거래처", "매출 거래처", "매입 거래처" 3개 카드 표시 |
|
||||
| L-003 | 기본 | 통계 숫자 일치 | 카드 숫자 합 = 테이블 전체 건수 (매출+매입+매입매출) |
|
||||
| L-004 | 기본 | 기본 정렬 | 최신순(등록일 내림차순) 정렬 |
|
||||
| L-005 | 기본 | 빈 목록 | 데이터 없을 때 빈 상태 메시지 표시 |
|
||||
|
||||
### 1.2 테이블 컬럼
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-010 | 기본 | 컬럼 구성 | 체크박스, 번호, 구분, 거래처명, 매입결제일, 매출결제일, 신용등급, 거래등급, 미수금, 악성채권, 작업 |
|
||||
| L-011 | UI | 구분 뱃지 색상 | 매출=초록, 매입=주황, 매입매출=파랑 |
|
||||
| L-012 | UI | 신용등급 뱃지 색상 | AAA/AA/A=초록, BBB/BB/B=노랑, CCC/CC/C/D=빨강 |
|
||||
| L-013 | UI | 거래등급 뱃지 색상 | A(우수)=초록, B(양호)=파랑, C(보통)=노랑, D(주의)=주황, E(위험)=빨강 |
|
||||
| L-014 | UI | 미수금 표시 | 금액 > 0이면 빨간색, 0이면 일반 또는 "-" |
|
||||
| L-015 | UI | 악성채권 표시 | 악성채권=빨간 뱃지, 정상=초록 뱃지, 없으면 "-" |
|
||||
|
||||
### 1.3 검색
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-020 | 기능 | 거래처명 검색 | 이름 일부 입력 시 해당 거래처만 필터링 |
|
||||
| L-021 | 기능 | 거래처코드 검색 | 코드 입력 시 해당 거래처만 필터링 |
|
||||
| L-022 | 기능 | 사업자번호 검색 | 사업자번호 입력 시 해당 거래처만 필터링 |
|
||||
| L-023 | 기능 | 검색어 지우기 | 검색어 삭제 시 전체 목록 복원 |
|
||||
| L-024 | 경계 | 빈 검색어 | 전체 목록 표시 |
|
||||
| L-025 | 경계 | 존재하지 않는 검색어 | 빈 결과 + "검색 결과 없음" 메시지 |
|
||||
| L-026 | 경계 | 특수문자 검색 | 에러 없이 처리 (결과 0건 또는 매칭) |
|
||||
| L-027 | 경계 | 공백만 입력 | 전체 목록 또는 빈 결과 (에러 없이) |
|
||||
|
||||
### 1.4 필터
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-030 | 기능 | 구분 필터 - 매출 | 매출 거래처만 표시 |
|
||||
| L-031 | 기능 | 구분 필터 - 매입 | 매입 거래처만 표시 |
|
||||
| L-032 | 기능 | 구분 필터 - 매입매출 | 매입매출 거래처만 표시 |
|
||||
| L-033 | 기능 | 신용등급 필터 | 선택한 등급만 표시 (AAA~D 각각) |
|
||||
| L-034 | 기능 | 거래등급 필터 | 선택한 등급만 표시 (A~E 각각) |
|
||||
| L-035 | 기능 | 악성채권 필터 - 악성채권 | 악성채권 거래처만 표시 |
|
||||
| L-036 | 기능 | 악성채권 필터 - 정상 | 정상 거래처만 표시 |
|
||||
| L-037 | 기능 | 필터 복합 적용 | 구분 + 신용등급 동시 적용 시 AND 조건 |
|
||||
| L-038 | 기능 | 필터 해제 | 필터 해제 시 전체 목록 복원 |
|
||||
| L-039 | 경계 | 필터 결과 0건 | 빈 상태 메시지 표시, 에러 없음 |
|
||||
|
||||
### 1.5 정렬
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-040 | 기능 | 최신순 | 등록일 내림차순 |
|
||||
| L-041 | 기능 | 등록순 | 등록일 오름차순 |
|
||||
| L-042 | 기능 | 이름 오름차순 | 가나다/ABC 순 |
|
||||
| L-043 | 기능 | 이름 내림차순 | 역순 |
|
||||
| L-044 | 기능 | 미수금 높은순 | 미수금 내림차순 |
|
||||
| L-045 | 기능 | 미수금 낮은순 | 미수금 오름차순 |
|
||||
|
||||
### 1.6 페이지네이션
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-050 | 기능 | 기본 페이지 크기 | 한 페이지 20건 표시 |
|
||||
| L-051 | 기능 | 다음 페이지 이동 | 2페이지 클릭 시 다음 20건 표시 |
|
||||
| L-052 | 기능 | 이전 페이지 이동 | 이전 페이지로 복귀 |
|
||||
| L-053 | 경계 | 마지막 페이지 | "다음" 버튼 비활성화 또는 숨김 |
|
||||
| L-054 | 경계 | 첫 페이지 | "이전" 버튼 비활성화 또는 숨김 |
|
||||
| L-055 | 기능 | 필터 + 페이지네이션 | 필터 적용 후 페이지네이션 정상 동작 |
|
||||
|
||||
### 1.7 행 선택 및 동작
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-060 | 기능 | 행 클릭 | 상세 페이지(view 모드)로 이동 |
|
||||
| L-061 | 기능 | 체크박스 개별 선택 | 해당 행 선택 상태 |
|
||||
| L-062 | 기능 | 전체 선택 체크박스 | 현재 페이지 전체 선택/해제 |
|
||||
| L-063 | 기능 | 호버 시 작업 버튼 | 행 호버 시 수정/삭제 버튼 표시 |
|
||||
| L-064 | 기능 | 수정 버튼 클릭 | 상세 페이지(edit 모드)로 이동 |
|
||||
| L-065 | 기능 | 삭제 버튼 클릭 | 삭제 확인 다이얼로그 표시 |
|
||||
| L-066 | 기능 | 삭제 확인 | 확인 시 거래처 삭제, 목록 갱신 |
|
||||
| L-067 | 기능 | 삭제 취소 | 취소 시 아무 변경 없음 |
|
||||
| L-068 | 비즈 | 주문 있는 거래처 삭제 | 삭제 불가 에러 메시지 표시 |
|
||||
|
||||
### 1.8 신규 등록 버튼
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| L-070 | 기능 | 신규 등록 버튼 | 클릭 시 상세 페이지(new 모드)로 이동 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 상세/등록 페이지 (Detail View)
|
||||
|
||||
### 2.1 신규 등록 (mode=new)
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-001 | 기본 | 페이지 로딩 | 빈 폼 표시, 저장/취소 버튼 |
|
||||
| D-002 | 기본 | 기본값 확인 | 매입결제일=10, 매출결제일=15, 신용등급=A, 거래등급=C, 구분=매입매출 |
|
||||
| D-003 | 기본 | 거래처코드 자동 생성 | 코드 필드 읽기전용, 저장 시 8자리 영숫자 자동 생성 |
|
||||
| D-004 | 기본 | 삭제 버튼 없음 | 신규 모드에서 삭제 버튼 미표시 |
|
||||
|
||||
#### 2.1.1 필수값 검증
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-010 | 검증 | 거래처명 미입력 | 저장 시 필수값 에러 메시지 |
|
||||
| D-011 | 검증 | 거래처명만 입력 후 저장 | 최소 필수값으로 정상 저장 |
|
||||
|
||||
#### 2.1.2 기본 정보 입력
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-020 | 기능 | 거래처명 입력 | 최대 100자, 정상 입력 |
|
||||
| D-021 | 기능 | 구분 선택 | 매출/매입/매입매출 드롭다운 선택 |
|
||||
| D-022 | 기능 | 사업자등록번호 입력 | 포맷 검증 (xxx-xx-xxxxx) |
|
||||
| D-023 | 기능 | 대표자명 입력 | 최대 100자 |
|
||||
| D-024 | 경계 | 거래처명 100자 초과 | 입력 제한 또는 에러 메시지 |
|
||||
|
||||
#### 2.1.3 연락처 정보
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-030 | 기능 | 우편번호 검색 | 우편번호 검색 팝업/모달 정상 동작 |
|
||||
| D-031 | 기능 | 주소 자동 입력 | 우편번호 선택 시 기본주소 자동 채움 |
|
||||
| D-032 | 기능 | 상세주소 입력 | 수동 입력 가능 |
|
||||
| D-033 | 기능 | 전화번호 입력 | PhoneInput 포맷팅 (자동 하이픈) |
|
||||
| D-034 | 기능 | 모바일 입력 | 포맷팅 적용 |
|
||||
| D-035 | 기능 | 팩스 입력 | 포맷팅 적용 |
|
||||
| D-036 | 기능 | 이메일 입력 | 유효한 이메일 형식 검증 |
|
||||
| D-037 | 경계 | 잘못된 이메일 형식 | 에러 메시지 표시 |
|
||||
| D-038 | 경계 | 전화번호 숫자 외 문자 | 자동 제거 또는 에러 |
|
||||
|
||||
#### 2.1.4 담당자 정보
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-040 | 기능 | 담당자명 입력 | 최대 50자 |
|
||||
| D-041 | 기능 | 담당자 전화 입력 | 최대 20자 |
|
||||
| D-042 | 기능 | 시스템 관리자 입력 | 최대 50자 |
|
||||
|
||||
#### 2.1.5 회사 정보
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-050 | 기능 | 업태 입력 | 최대 50자 |
|
||||
| D-051 | 기능 | 업종 입력 | 최대 100자 |
|
||||
| D-052 | UI | 로고 업로드 영역 | 이미지 업로드 UI 표시 (구현 여부 확인) |
|
||||
|
||||
#### 2.1.6 결제 정보
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-060 | 기능 | 매입 결제일 선택 | 1~31일 드롭다운 선택 |
|
||||
| D-061 | 기능 | 매출 결제일 선택 | 1~31일 드롭다운 선택 |
|
||||
| D-062 | 기본 | 기본값 확인 | 매입=10일, 매출=15일 |
|
||||
|
||||
#### 2.1.7 신용/거래 정보
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-070 | 기능 | 신용등급 선택 | AAA~D 드롭다운 |
|
||||
| D-071 | 기능 | 거래등급 선택 | A(우수)~E(위험) 드롭다운 |
|
||||
| D-072 | 기능 | 세금계산서 이메일 입력 | 이메일 형식 검증 |
|
||||
| D-073 | 기능 | 입금계좌 은행 선택 | 21개 은행 드롭다운 |
|
||||
| D-074 | 기능 | 계좌번호 입력 | AccountNumberInput 포맷팅 |
|
||||
| D-075 | 기능 | 예금주 입력 | 텍스트 입력 |
|
||||
|
||||
#### 2.1.8 저장 동작
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-080 | 기능 | 정상 저장 | 성공 메시지 + 상세(view) 페이지로 이동 |
|
||||
| D-081 | 기능 | 저장 후 거래처코드 | 8자리 영숫자 코드 자동 생성 확인 |
|
||||
| D-082 | 기능 | 취소 버튼 | 목록 페이지로 복귀, 데이터 미저장 |
|
||||
| D-083 | 경계 | 네트워크 오류 시 저장 | 에러 메시지 표시, 데이터 유지 |
|
||||
| D-084 | 기능 | 전체 필드 입력 저장 | 모든 필드 정상 저장 및 조회 |
|
||||
|
||||
---
|
||||
|
||||
### 2.2 조회 모드 (mode=view)
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-100 | 기본 | 페이지 로딩 | 저장된 데이터 표시, 모든 필드 읽기전용 |
|
||||
| D-101 | 기본 | 거래처코드 표시 | 자동 생성된 코드 표시 |
|
||||
| D-102 | UI | 수정/삭제/목록 버튼 | 상단에 표시 |
|
||||
| D-103 | 기능 | 수정 버튼 클릭 | edit 모드로 전환 |
|
||||
| D-104 | 기능 | 목록 버튼/뒤로가기 | 목록 페이지로 복귀 |
|
||||
|
||||
#### 2.2.1 미수금/악성채권 정보 (읽기전용)
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-110 | 기능 | 미수금 표시 | 매출합계 - 입금합계 계산값 표시 |
|
||||
| D-111 | 기능 | 악성채권 상태 표시 | 뱃지 또는 텍스트로 상태 표시 |
|
||||
| D-112 | 기능 | 연체 상태 표시 | 토글 또는 텍스트 표시 |
|
||||
|
||||
#### 2.2.2 메모 시스템
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-120 | 기능 | 메모 목록 표시 | 등록된 메모 시간순 표시 |
|
||||
| D-121 | 기능 | 메모 추가 | 텍스트 입력 + 추가 버튼 → 목록에 반영 |
|
||||
| D-122 | 기능 | 메모 형식 | "YYYY-MM-DD HH:mm [작성자] 내용" |
|
||||
| D-123 | 기능 | 메모 삭제 | X 버튼 클릭 → 삭제 확인 → 삭제 |
|
||||
| D-124 | 경계 | 빈 메모 추가 | 빈 텍스트 등록 불가 |
|
||||
| D-125 | 경계 | 메모 없는 상태 | 빈 메모 메시지 또는 빈 목록 |
|
||||
|
||||
#### 2.2.3 신용분석 모달
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-130 | 기능 | 신용분석 버튼 | 클릭 시 CreditAnalysisModal 열림 |
|
||||
| D-131 | 기능 | 모달 내용 | 신용 분석 데이터 표시 |
|
||||
| D-132 | 기능 | 모달 닫기 | 닫기 버튼 또는 외부 클릭으로 닫힘 |
|
||||
|
||||
---
|
||||
|
||||
### 2.3 수정 모드 (mode=edit)
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-200 | 기본 | 페이지 로딩 | 기존 데이터 채워진 편집 가능 폼 |
|
||||
| D-201 | 기본 | 거래처코드 읽기전용 | 코드 수정 불가 |
|
||||
| D-202 | 기능 | 거래처명 수정 | 변경 후 저장 정상 동작 |
|
||||
| D-203 | 기능 | 구분 변경 | 매출→매입 등 변경 가능 |
|
||||
| D-204 | 기능 | 연락처 수정 | 전화/모바일/팩스/이메일 수정 |
|
||||
| D-205 | 기능 | 결제일 변경 | 매입/매출 결제일 변경 |
|
||||
| D-206 | 기능 | 등급 변경 | 신용등급/거래등급 변경 |
|
||||
| D-207 | 기능 | 은행/계좌 변경 | 은행 선택 및 계좌번호 수정 |
|
||||
|
||||
#### 2.3.1 악성채권 토글
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-210 | 비즈 | 악성채권 ON | 토글 활성화 → BadDebt 레코드 생성 (COLLECTING) |
|
||||
| D-211 | 비즈 | 악성채권 OFF | 토글 비활성화 → BadDebt RECOVERED, is_active=false |
|
||||
| D-212 | 비즈 | 연체 토글 ON | is_overdue=true 저장 |
|
||||
| D-213 | 비즈 | 연체 토글 OFF | is_overdue=false 저장 |
|
||||
|
||||
#### 2.3.2 저장/취소/삭제
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| D-220 | 기능 | 수정 저장 | 변경사항 저장 + view 모드 전환 |
|
||||
| D-221 | 기능 | 수정 취소 | 변경사항 폐기 + view 모드 복귀 |
|
||||
| D-222 | 기능 | 삭제 버튼 | 삭제 확인 다이얼로그 표시 |
|
||||
| D-223 | 기능 | 삭제 확인 | 거래처 삭제 + 목록 페이지 이동 |
|
||||
| D-224 | 기능 | 삭제 취소 | 아무 변경 없음 |
|
||||
| D-225 | 비즈 | 주문 있는 거래처 삭제 | 삭제 불가, 에러 메시지 |
|
||||
| D-226 | 검증 | 필수값 제거 후 저장 | 거래처명 비우고 저장 시 에러 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 모바일 반응형
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| M-001 | UI | 목록 모바일 뷰 | 테이블 → 카드 레이아웃 전환 |
|
||||
| M-002 | UI | 카드 핵심 정보 | 거래처명, 구분 뱃지, 주요 정보 표시 |
|
||||
| M-003 | UI | 카드 액션 버튼 | 수정/삭제 접근 가능 |
|
||||
| M-004 | UI | 상세 페이지 레이아웃 | 모바일에서 폼 필드 세로 정렬 |
|
||||
| M-005 | UI | 검색/필터 모바일 | 검색바, 필터 접근 가능 |
|
||||
|
||||
---
|
||||
|
||||
## 4. API 응답 검증
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| A-001 | API | GET /clients 응답 | `{ success: true, data: { data: [...], total, page, size } }` |
|
||||
| A-002 | API | GET /clients/{id} 응답 | outstanding_amount, bad_debt_total, has_bad_debt 필드 포함 |
|
||||
| A-003 | API | POST /clients 응답 | client_code 자동 생성, 8자리 영숫자 |
|
||||
| A-004 | API | GET /clients/stats 응답 | total, sales, purchase, both, badDebt, normal 포함 |
|
||||
| A-005 | API | DELETE - 주문 연결 | 400 에러 + 적절한 에러 메시지 |
|
||||
| A-006 | API | 멀티테넌트 격리 | 다른 tenant 데이터 접근 불가 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 데이터 정합성
|
||||
|
||||
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|
||||
|-----|------|------------|-----------|
|
||||
| I-001 | 비즈 | 미수금 계산 | 매출합계 - 입금합계 = 표시 미수금 |
|
||||
| I-002 | 비즈 | 결제일 표시 변환 | API "15일" → UI "15" 표시 |
|
||||
| I-003 | 비즈 | 구분 코드 변환 | API SALES→매출, PURCHASE→매입, BOTH→매입매출 |
|
||||
| I-004 | 비즈 | 등록→조회 일치 | 등록한 데이터 = 조회 데이터 (모든 필드) |
|
||||
| I-005 | 비즈 | 수정→조회 일치 | 수정한 데이터 = 재조회 데이터 |
|
||||
|
||||
---
|
||||
|
||||
## TC 요약
|
||||
|
||||
| 카테고리 | 건수 |
|
||||
|----------|------|
|
||||
| 목록 페이지 | 42건 |
|
||||
| 상세/등록 페이지 | 52건 |
|
||||
| 모바일 반응형 | 5건 |
|
||||
| API 응답 검증 | 6건 |
|
||||
| 데이터 정합성 | 5건 |
|
||||
| **합계** | **110건** |
|
||||
|
||||
---
|
||||
|
||||
## 참고: 구분 체계
|
||||
|
||||
- **기본**: 페이지 로딩, 기본 표시
|
||||
- **기능**: 사용자 인터랙션, CRUD 동작
|
||||
- **UI**: 색상, 레이아웃, 뱃지 등 시각 요소
|
||||
- **검증**: 입력값 유효성 검사
|
||||
- **경계**: 경계값, 예외 케이스
|
||||
- **비즈**: 비즈니스 로직 (악성채권, 미수금 등)
|
||||
- **API**: API 레벨 검증
|
||||
Reference in New Issue
Block a user