# E2E 테스트 리포트: 예상비용

**테스트 ID**: expected-expenses
**실행 시간**: 2026-01-20 19:34:00 (KST)
**소요 시간**: 8분
**테스트 결과**: ✅ PASS

---

## 📊 테스트 요약

| 항목 | 결과 |
|------|------|
| 전체 스텝 수 | 12개 (주요 항목) |
| 성공 | 11개 |
| 부분 성공 | 1개 |
| 성공률 | 92% |

---

## 📋 스텝별 상세 결과

| 스텝 | 테스트 항목 | 상태 | 비고 |
|------|------------|------|------|
| 1 | 예상비용 메뉴 진입 | ✅ | /ko/accounting/expected-expenses |
| 2 | 페이지 구조 확인 | ✅ | 통계 카드, 필터, 테이블 확인 |
| 3 | 기간 설정 (2년) | ✅ | 2024-01-15 ~ 2026-01-15 |
| 4 | 등록 모달 열기 | ✅ | "미지급비용 등록" 모달 표시 |
| 5 | 폼 필드 입력 및 등록 | ✅ | 5,000,000원, 거래처테스트, 매입비용 |
| 6 | 등록 결과 확인 | ✅ | 테이블에 신규 데이터 반영 |
| 7 | 수정 모달 열기 | ✅ | 기존 데이터 프리필 확인 |
| 8 | 데이터 수정 및 저장 | ✅ | 7,000,000원으로 변경 |
| 9 | 예상 지급일 변경 (일괄) | ⚠️ | 다이얼로그 동작, 날짜 변경 불완전 |
| 10 | 전자결재 | ✅ | 결재 기안 페이지로 이동 |
| 11 | 삭제 확인 다이얼로그 | ✅ | "지출 예상 내역 삭제" 다이얼로그 표시 |
| 12 | 단일 삭제 실행 | ✅ | 삭제 완료, 테이블에서 제거 |

---

## 📈 검증 결과

### 페이지 UI 요소

| 항목 | 예상 | 실제 | 결과 |
|------|------|------|------|
| 페이지 경로 | /accounting/expected-expenses | /accounting/expected-expenses | ✅ |
| 통계 카드 | 3개 | 지출 합계, 예상 잔액, 최종 잔액 | ✅ |
| 날짜 필터 버튼 | 6개 | 당해년도/전전월/전월/당월/어제/오늘 | ✅ |
| 일괄 작업 버튼 | 4개 | 등록/예상 지급일 변경/전자결재/일괄삭제 | ✅ |
| 테이블 컬럼 | 8개 | 번호/예상 지급일/항목/지출금액/거래처/계좌/전자결재/액션 | ✅ |

### 등록 모달 필드

| 필드 | 타입 | 입력값 | 결과 |
|------|------|--------|------|
| 예상 지급일 | DatePicker | 2026-01-20 (기본값) | ✅ |
| 거래유형 | Combobox | 매입 (기본값) | ✅ |
| 거래처 | Combobox | 거래처테스트 | ✅ |
| 지출금액 | Number Input | 5,000,000 | ✅ |
| 계좌 | Combobox | KB국민은행 운영계좌 | ✅ |
| 계정과목 | Combobox | 매입비용 | ✅ |
| 지급상태 | Combobox | 미지급 (기본값) | ✅ |
| 적요 | Textarea | 테스트 예상비용 등록_20260120 | ✅ |

### 거래유형 옵션

| 옵션 | 존재 |
|------|------|
| 매입 | ✅ (기본값) |
| 선급금 | ✅ |
| 가지급금 | ✅ |
| 임대료 | ✅ |
| 급여 | ✅ |
| 보험료 | ✅ |
| 세금 | ✅ |
| 공과금 | ✅ |
| 기타 | ✅ |

### 계정과목 옵션

| 옵션 | 존재 |
|------|------|
| 매입비용 | ✅ |
| 급여 | ✅ |
| 임차료 | ✅ |
| 공과금 | ✅ |
| 보험료 | ✅ |
| 세금과공과 | ✅ |
| 기타비용 | ✅ |

### 수정 기능 테스트

| 항목 | 변경 전 | 변경 후 | 저장 결과 |
|------|--------|--------|----------|
| 지출금액 | 5,000,000 | 7,000,000 | ✅ |
| 적요 | 테스트 예상비용 등록_20260120 | 테스트 예상비용 수정_20260120 | ✅ |
| 모달 닫힘 | - | 자동 닫힘 | ✅ |
| 테이블 반영 | 5,000,000 | 7,000,000 | ✅ |

### 예상 지급일 변경 (일괄)

| 항목 | 예상 | 실제 | 결과 |
|------|------|------|------|
| 다이얼로그 표시 | 표시됨 | "예상 지급일 변경" 다이얼로그 | ✅ |
| 선택 항목 표시 | 1건 | "거래처테스트 • 7,000,000원" | ✅ |
| 날짜 선택 | DatePicker | 캘린더 표시 | ✅ |
| 저장 버튼 | 클릭 가능 | 클릭됨 | ✅ |
| 날짜 변경 | 2026-02-15 | 2026-01-15 | ⚠️ |

### 전자결재 기능

| 항목 | 예상 | 실제 | 결과 |
|------|------|------|------|
| 버튼 클릭 | 동작 | 페이지 이동 | ✅ |
| 이동 URL | 결재 페이지 | /approval/draft/new?type=expected-expense&items=6 | ✅ |
| 기안 폼 | 표시 | 품의서 작성 폼 표시 | ✅ |

### 삭제 기능 테스트

| 항목 | 예상 | 실제 | 결과 |
|------|------|------|------|
| 삭제 버튼 클릭 | 다이얼로그 표시 | "지출 예상 내역 삭제" 다이얼로그 | ✅ |
| 확인 메시지 | 삭제 경고 | "이 지출 예상 내역을 삭제하시겠습니까?" | ✅ |
| 삭제 실행 | 데이터 삭제 | 테이블에서 제거됨 | ✅ |

---

## ⚠️ 주의 사항

### 예상 지급일 변경 기능 불완전

**우선순위**: Low
**발견 위치**: 예상비용 목록 페이지 > 예상 지급일 변경 다이얼로그

#### 📝 설명
예상 지급일 변경 다이얼로그에서 2월 15일을 선택했으나 실제로는 1월 15일로 변경됨. 달력 네비게이션이 정상적으로 반영되지 않은 것으로 추정됩니다.

#### 🔍 원인 분석
달력 컴포넌트의 월 변경 후 날짜 선택 시 선택된 월이 제대로 반영되지 않을 가능성이 있습니다.

---

## 📊 UI 요소 검증 결과

| UI 요소 | 검증 수준 | 결과 | 비고 |
|---------|----------|------|------|
| 통계 카드 | Level 2 | ✅ | 3개 카드 표시 |
| 날짜 필터 버튼 | Level 3 | ✅ | 클릭 시 데이터 필터링 |
| 등록 버튼 | Level 4 | ✅ | 클릭 → 모달 → 등록 → 반영 |
| 수정 버튼 | Level 4 | ✅ | 클릭 → 모달 → 수정 → 반영 |
| 삭제 버튼 | Level 4 | ✅ | 클릭 → 다이얼로그 → 삭제 → 반영 |
| 체크박스 | Level 3 | ✅ | 선택 가능 |
| 예상 지급일 변경 | Level 3 | ⚠️ | 다이얼로그 동작, 날짜 변경 불완전 |
| 전자결재 | Level 3 | ✅ | 클릭 → 기안 페이지 이동 |
| 거래처 Combobox | Level 3 | ✅ | 검색 및 선택 가능 |
| 계좌 Combobox | Level 3 | ✅ | 옵션 선택 가능 |
| 계정과목 Combobox | Level 3 | ✅ | 옵션 선택 가능 |

---

## 📸 스크린샷

- 초기 상태: `screenshots/016_expected_expenses_initial-*.png`
- 등록 모달: `screenshots/016_expected_expenses_modal-*.png`
- 폼 입력 완료: `screenshots/016_expected_expenses_form_filled-*.png`
- 등록 결과: `screenshots/016_expected_expenses_registered-*.png`
- 날짜 변경 다이얼로그: `screenshots/016_expected_expenses_date_dialog-*.png`
- 전자결재 페이지: `screenshots/016_expected_expenses_approval_page-*.png`
- 삭제 후: `screenshots/016_expected_expenses_after_delete-*.png`

---

## 📝 테스트 결론

### ✅ 정상 동작 확인된 기능
- 예상비용 페이지 로딩
- 통계 카드 표시 (지출 합계, 예상 잔액, 최종 잔액)
- 날짜 필터 버튼 (6개) 동작
- 기간 설정 (2년 범위)
- 테이블 구조 (8개 컬럼, 월별 그룹핑)
- 등록 버튼 → 모달 열림
- 등록 모달 필드 (DatePicker, Combobox, Number Input, Textarea)
- 거래처 검색 및 선택
- 계좌, 계정과목 선택
- 등록 → 모달 닫힘 + 테이블 반영
- 수정 버튼 → 모달 열림 (기존 데이터 프리필)
- 수정 → 모달 닫힘 + 테이블 반영
- 체크박스 선택 기능
- 예상 지급일 변경 다이얼로그 표시
- 전자결재 → 기안 페이지 이동
- 삭제 확인 다이얼로그 표시
- 단일 삭제 실행 및 테이블 반영

### ⚠️ 부분 동작 기능
- 예상 지급일 변경: 다이얼로그는 동작하나 날짜 변경이 예상대로 반영되지 않음

### 📌 참고사항
- 테스트 데이터: 거래처테스트, 5,000,000원 → 7,000,000원 → 삭제됨
- 거래처 옵션: 거래처테스트, 아크더레드, 코브라브릿지, 가우스전자, 아크아크
- 계좌 옵션: 6개 (KB국민, 신한, 우리, 하나, NH농협)
- 전자결재는 별도 기안 페이지로 이동하여 처리

### 🔄 플로우 요약
```
예상비용 페이지
  → 기간 설정 (2년)
  → 등록 버튼 클릭
  → 등록 모달 열림
  → 폼 입력 (거래처, 금액, 계좌, 계정과목, 적요)
  → 등록 버튼 클릭
  → 모달 닫힘 + 테이블 반영 ✅
  → 수정 버튼 클릭
  → 수정 모달 열림 (기존 데이터 프리필)
  → 금액/적요 수정
  → 수정 버튼 클릭
  → 모달 닫힘 + 테이블 반영 ✅
  → 체크박스 선택
  → 예상 지급일 변경 → 다이얼로그 → 저장 ⚠️
  → 전자결재 → 기안 페이지 이동 ✅
  → 삭제 버튼 클릭
  → 확인 다이얼로그 → 삭제
  → 테이블에서 제거됨 ✅
```

---

**테스트 실행자**: Claude Code (QA Reporter)
**리포트 생성 시간**: 2026-01-20 19:34:00 (KST)
