- e2e-bugfix-consolidated-plan.md → history/2026-01/ 이동 - CURRENT_WORKS.md 작업 기록 추가 - index_plans.md 아카이브 참조 추가 - E2E 테스트 리포트 7개 추가 (clodeCheck/) 수정된 버그: 7건 (Critical 3, High 3, Medium 1) 커밋: fa6e96d, a1aa872, e998cfa
300 lines
9.6 KiB
Markdown
300 lines
9.6 KiB
Markdown
# E2E Test Report: 출금관리 (Withdrawal Management)
|
|
|
|
**Test ID**: withdrawal-management
|
|
**Executed**: 2026-01-15
|
|
**Status**: ⚠️ PARTIAL (11/12 - 1 Bug)
|
|
**Test Environment**: https://dev.codebridge-x.com
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
| Item | Result |
|
|
|------|--------|
|
|
| Total Steps | 12 |
|
|
| Passed | 11 |
|
|
| Failed | 1 |
|
|
| Pass Rate | 91.7% |
|
|
|
|
---
|
|
|
|
## Step Results
|
|
|
|
| Step | Test Case | Status | Notes |
|
|
|------|-----------|--------|-------|
|
|
| 1 | 회계관리 메뉴 진입 | ✅ PASS | /accounting/withdrawals 접속 확인 |
|
|
| 2 | 목록 페이지 구조 검증 | ✅ PASS | 통계 카드 4개, 테이블 컬럼 8개 확인 |
|
|
| 3 | 계정과목명 드롭다운 옵션 확인 | ✅ PASS | 16개 옵션 확인 (시나리오 14개와 상이) |
|
|
| 4 | 계정과목명 일괄변경 테스트 | ❌ FAIL | API 200 OK, 데이터 미반영 |
|
|
| 5 | 상세 페이지 진입 | ✅ PASS | /accounting/withdrawals/58 이동 확인 |
|
|
| 6 | 상세 페이지 필드 검증 | ✅ PASS | 기본 정보 섹션 7개 필드 확인 |
|
|
| 7 | 수정 모드 전환 | ✅ PASS | ?mode=edit URL 변경, 버튼 변경 확인 |
|
|
| 8 | 수정 가능 필드 검증 | ✅ PASS | 적요, 거래처, 출금유형 수정 가능 |
|
|
| 9 | 필수값 유효성 검증 | ✅ PASS | "거래처를 선택해주세요" 토스트 확인 |
|
|
| 10 | 상세 페이지 수정 저장 | ✅ PASS | 거래처, 출금유형 변경 후 저장 성공 |
|
|
| 11 | 수정 데이터 반영 확인 | ✅ PASS | 목록에서 변경된 데이터 확인 |
|
|
| 12 | 출금유형 미설정 건수 감소 | ✅ PASS | 60건 → 59건 확인 |
|
|
|
|
---
|
|
|
|
## Detailed Test Results
|
|
|
|
### 1. 회계관리 메뉴 진입
|
|
|
|
| 항목 | 예상 | 실제 | 결과 |
|
|
|------|------|------|------|
|
|
| URL | /accounting/withdrawals | /accounting/withdrawals | ✅ |
|
|
| 페이지 타이틀 | 출금관리 | 출금관리 | ✅ |
|
|
| 인증 상태 | 로그인됨 | 로그인됨 | ✅ |
|
|
|
|
---
|
|
|
|
### 2. 목록 페이지 구조 검증
|
|
|
|
#### 통계 카드 (4개)
|
|
|
|
| 카드명 | 값 | 결과 |
|
|
|--------|-----|------|
|
|
| 총 출금 | 1,214,143,687원 | ✅ |
|
|
| 당월 출금 | 0원 | ✅ |
|
|
| 거래처 미설정 | 0건 | ✅ |
|
|
| 출금유형 미설정 | 60건 | ✅ |
|
|
|
|
#### 테이블 컬럼 (8개)
|
|
|
|
| # | 컬럼명 | 시나리오 | 결과 |
|
|
|---|--------|----------|------|
|
|
| 1 | 체크박스 | 체크박스 | ✅ |
|
|
| 2 | 출금일 | 출금일 | ✅ |
|
|
| 3 | 출금계좌 | 출금계좌 | ✅ |
|
|
| 4 | 수취인명 | 받는분 | ⚠️ 컬럼명 상이 |
|
|
| 5 | 출금금액 | 출금금액 | ✅ |
|
|
| 6 | 거래처 | 거래처 | ✅ |
|
|
| 7 | 적요 | 적요 | ✅ |
|
|
| 8 | 출금유형 | 출금유형 | ✅ |
|
|
|
|
**참고**: 시나리오의 "받는분" 컬럼이 실제 시스템에서는 "수취인명"으로 표시됨
|
|
|
|
---
|
|
|
|
### 3. 계정과목명 드롭다운 옵션
|
|
|
|
**실제 옵션 (16개)**:
|
|
1. 미설정
|
|
2. 매입대금
|
|
3. 선급금
|
|
4. 가지급금
|
|
5. 임대료
|
|
6. 이자비용
|
|
7. 보증금 지급
|
|
8. 차입금 상환
|
|
9. 배당금 지급
|
|
10. 부가세 납부
|
|
11. 급여
|
|
12. 4대보험
|
|
13. 세금
|
|
14. 공과금
|
|
15. 경비
|
|
16. 기타
|
|
|
|
**참고**: 시나리오에는 14개 옵션으로 정의되어 있으나 실제로는 16개 옵션 존재
|
|
|
|
---
|
|
|
|
### 4. 계정과목명 일괄변경 테스트 ❌ FAIL
|
|
|
|
**BUG-WITHDRAWAL-20260115-001**
|
|
|
|
| 항목 | 예상 | 실제 | 결과 |
|
|
|------|------|------|------|
|
|
| 체크박스 선택 | 1개 항목 선택 | 1개 항목 선택됨 | ✅ |
|
|
| 계정과목명 선택 | 매입대금 | 매입대금 | ✅ |
|
|
| 저장 버튼 클릭 | 동작 | 동작 | ✅ |
|
|
| 확인 다이얼로그 | 표시 | "1개의 출금 유형을 매입대금(으)로 모두 변경하시겠습니까?" | ✅ |
|
|
| 확인 버튼 클릭 | 동작 | 동작 | ✅ |
|
|
| API 호출 | POST /accounting/withdrawals | POST /accounting/withdrawals (200 OK) | ✅ |
|
|
| 데이터 변경 | 미설정 → 매입대금 | **미설정 (변경 없음)** | ❌ |
|
|
| 출금유형 미설정 건수 | 59건 | **60건 (변경 없음)** | ❌ |
|
|
|
|
**버그 상세**:
|
|
- **증상**: API 호출은 성공(200 OK)하지만 실제 데이터가 변경되지 않음
|
|
- **심각도**: High
|
|
- **영향**: 일괄변경 기능 미동작
|
|
- **버그 유형**: 백엔드 API 로직 오류 또는 프론트엔드-백엔드 데이터 불일치
|
|
- **관련 버그**:
|
|
- BUG-DEPOSIT-20260115-001 (입금관리 동일 증상)
|
|
- BUG-SALES-20260115-001 (매출관리 동일 증상)
|
|
|
|
---
|
|
|
|
### 5-6. 상세 페이지 진입 및 필드 검증
|
|
|
|
| 항목 | 예상 | 실제 | 결과 |
|
|
|------|------|------|------|
|
|
| URL | /accounting/withdrawals/{id} | /accounting/withdrawals/58 | ✅ |
|
|
| 페이지 타이틀 | 출금 상세 | 출금 상세 | ✅ |
|
|
| 버튼 | 목록, 삭제, 수정 | 목록, 삭제, 수정 | ✅ |
|
|
|
|
#### 기본 정보 필드
|
|
|
|
| 필드명 | 타입 | 상태 | 값 | 결과 |
|
|
|--------|------|------|-----|------|
|
|
| 출금일 | textbox | disabled | 2025-12-27 | ✅ |
|
|
| 출금계좌 | textbox | disabled | 운영계좌 | ✅ |
|
|
| 수취인명 | textbox | disabled | 두산에너빌리티 | ✅ |
|
|
| 출금금액 | textbox | disabled | 1,513,170 | ✅ |
|
|
| 적요 | textbox | disabled | 두산에너빌리티 지급 | ✅ |
|
|
| 거래처 * | combobox | disabled | 선택 ▼ | ✅ |
|
|
| 출금 유형 * | combobox | disabled | 미설정 | ✅ |
|
|
|
|
---
|
|
|
|
### 7-8. 수정 모드 전환 및 필드 활성화
|
|
|
|
| 항목 | 예상 | 실제 | 결과 |
|
|
|------|------|------|------|
|
|
| URL | ?mode=edit 추가 | /accounting/withdrawals/58?mode=edit | ✅ |
|
|
| 페이지 타이틀 | 출금 수정 | 출금 수정 | ✅ |
|
|
| 버튼 변경 | 취소, 저장 | 취소, 저장 | ✅ |
|
|
|
|
#### 수정 모드 필드 상태
|
|
|
|
| 필드명 | 읽기 모드 | 수정 모드 | 결과 |
|
|
|--------|----------|----------|------|
|
|
| 출금일 | disabled | disabled | ✅ |
|
|
| 출금계좌 | disabled | disabled | ✅ |
|
|
| 수취인명 | disabled | disabled | ✅ |
|
|
| 출금금액 | disabled | disabled | ✅ |
|
|
| 적요 | disabled | **enabled** | ✅ |
|
|
| 거래처 | disabled | **enabled** | ✅ |
|
|
| 출금 유형 | disabled | **enabled** | ✅ |
|
|
|
|
---
|
|
|
|
### 9. 필수값 유효성 검증
|
|
|
|
| 시나리오 | 입력값 | 예상 결과 | 실제 결과 | 결과 |
|
|
|----------|--------|----------|----------|------|
|
|
| 거래처 미선택 후 저장 | 거래처: 선택 ▼, 출금유형: 매입대금 | 유효성 에러 | "거래처를 선택해주세요." 토스트 | ✅ |
|
|
|
|
---
|
|
|
|
### 10-12. 상세 페이지 수정 및 저장
|
|
|
|
#### 수정 내용
|
|
|
|
| 필드 | 변경 전 | 변경 후 |
|
|
|------|---------|---------|
|
|
| 거래처 | 선택 ▼ (두산에너빌리티) | 거래처테스트 |
|
|
| 출금유형 | 미설정 | 매입대금 |
|
|
|
|
#### 저장 결과
|
|
|
|
| 항목 | 예상 | 실제 | 결과 |
|
|
|------|------|------|------|
|
|
| 저장 버튼 동작 | 저장 실행 | 저장 실행 | ✅ |
|
|
| 리다이렉트 | /accounting/withdrawals | /accounting/withdrawals | ✅ |
|
|
| 거래처 변경 | 거래처테스트 | 거래처테스트 | ✅ |
|
|
| 출금유형 변경 | 매입대금 | 매입대금 | ✅ |
|
|
| 미설정 건수 | 59건 | 59건 | ✅ |
|
|
|
|
---
|
|
|
|
## 발견된 버그
|
|
|
|
### BUG-WITHDRAWAL-20260115-001: 계정과목명 일괄변경 데이터 미반영
|
|
|
|
**Priority**: High
|
|
**Component**: `C:\Users\codeb\react\src\app\[locale]\(protected)\accounting\withdrawals\page.tsx`
|
|
|
|
#### Issue Summary
|
|
목록 페이지에서 체크박스로 항목 선택 후 계정과목명을 변경하고 저장 시, API는 성공 응답(200 OK)을 반환하지만 실제 데이터는 변경되지 않음.
|
|
|
|
#### Steps to Reproduce
|
|
1. 회계관리 > 출금관리 접속
|
|
2. 테이블에서 행 체크박스 선택
|
|
3. 계정과목명 드롭다운에서 옵션 선택 (예: 매입대금)
|
|
4. 저장 버튼 클릭
|
|
5. 확인 다이얼로그에서 확인 클릭
|
|
6. 결과: API 200 OK, 데이터 미변경
|
|
|
|
#### Expected Result
|
|
- 선택된 항목의 출금유형이 변경됨
|
|
- 출금유형 미설정 건수가 감소함
|
|
|
|
#### Actual Result
|
|
- API 응답은 성공(200 OK)
|
|
- 데이터가 변경되지 않음
|
|
- 출금유형 미설정 건수 그대로 유지
|
|
|
|
#### Error Details
|
|
```
|
|
Network Request: POST /accounting/withdrawals => 200 OK
|
|
Console: No errors
|
|
Data: 미설정 → 미설정 (변경 없음)
|
|
```
|
|
|
|
#### Related Bugs
|
|
- BUG-DEPOSIT-20260115-001: 입금관리 일괄변경 (동일 증상)
|
|
- BUG-SALES-20260115-001: 매출관리 일괄변경 (동일 증상)
|
|
|
|
#### Suggested Fix (Reference Only)
|
|
- 백엔드 API 로직 점검 필요
|
|
- 요청 페이로드와 실제 DB 업데이트 로직 확인
|
|
- 프론트엔드에서 올바른 파라미터 전송 여부 확인
|
|
|
|
**영향 범위**: api / react
|
|
**변경 승인 정책**: ⚠️ 컨펌 필요
|
|
|
|
---
|
|
|
|
## 시나리오 vs 실제 시스템 차이점
|
|
|
|
| 항목 | 시나리오 정의 | 실제 시스템 | 비고 |
|
|
|------|--------------|------------|------|
|
|
| 테이블 컬럼명 | 받는분 | 수취인명 | 명명 규칙 차이 |
|
|
| 계정과목 옵션 수 | 14개 | 16개 | 2개 추가 (4대보험, 공과금) |
|
|
|
|
---
|
|
|
|
## 거래처 드롭다운 옵션 (상세 페이지)
|
|
|
|
| # | 거래처명 |
|
|
|---|----------|
|
|
| 1 | 거래처테스트 |
|
|
| 2 | 아크더레드 |
|
|
| 3 | 코브라브릿지 |
|
|
| 4 | 가우스전자 |
|
|
| 5 | 아크아크 |
|
|
|
|
---
|
|
|
|
## Conclusion
|
|
|
|
12개 테스트 케이스 중 11개 통과 (91.7%)
|
|
|
|
### 검증 완료 항목
|
|
1. ✅ 회계관리 > 출금관리 메뉴 접근
|
|
2. ✅ 목록 페이지 구조 (통계 카드 4개, 테이블 컬럼 8개)
|
|
3. ✅ 계정과목명 드롭다운 옵션 (16개)
|
|
4. ❌ 계정과목명 일괄변경 (BUG-WITHDRAWAL-20260115-001)
|
|
5. ✅ 상세 페이지 진입 및 정보 표시
|
|
6. ✅ 수정 모드 전환
|
|
7. ✅ 필드 활성화 상태 변경
|
|
8. ✅ 필수값 유효성 검증
|
|
9. ✅ 상세 페이지 데이터 수정 및 저장
|
|
10. ✅ 수정 데이터 목록 반영
|
|
|
|
### 테스트 제외 항목
|
|
- 삭제 기능
|
|
- 검색 기능
|
|
- 필터 기능 (전체/전체/최신순)
|
|
- 페이지네이션
|
|
- 날짜 필터 버튼 (당해년도, 전전월 등)
|
|
- 취소 버튼 동작
|
|
|
|
---
|
|
|
|
**Report Generated**: 2026-01-15
|
|
**Tester**: Claude E2E Test Agent
|