# E2E 테스트 리포트: 근태 등록 테스트

**테스트 ID**: attendance-register
**실행 시간**: 2026-01-22 08:35:00 (KST)
**소요 시간**: 2분
**테스트 결과**: ❌ FAIL

---

## 📊 테스트 요약

| 항목 | 결과 |
|------|------|
| 전체 스텝 수 | 8개 |
| 성공 | 5개 |
| 실패 | 2개 |
| 경고 | 1개 |
| 성공률 | 63% |

---

## 📋 스텝별 상세 결과

| 스텝 | 테스트 항목 | 상태 | 비고 |
|------|------------|------|------|
| 1 | 인사관리 메뉴 진입 | ✅ | 근태관리 페이지 이미 로드됨 |
| 2 | 현재 근태 목록 확인 | ✅ | 9건 표시 |
| 3 | 근태 등록 모달 열기 | ✅ | 근태 정보 모달 표시됨 |
| 4 | 대상 직원 선택 | ✅ | 홍킬동 선택 완료 |
| 5 | 출근 시간 설정 | ✅ | 기본값 9시 0분 |
| 6 | 퇴근 시간 설정 | ✅ | 기본값 18시 0분 |
| 7 | 근태 저장 | ❌ | 서버 에러 발생 |
| 8 | 등록된 근태 확인 | ❌ | 데이터 미반영 |

---

## 🐛 발견된 버그

### BUG-001: 근태 등록 API 서버 에러

**우선순위**: High
**발견 위치**: 근태관리 > 근태 등록 모달 > 저장 버튼

#### 📝 버그 설명
근태 등록 모달에서 저장 버튼 클릭 시 서버 에러 발생. 모달은 닫히나 데이터가 저장되지 않음.

#### 🔄 재현 단계
1. 근태관리 페이지 진입
2. 근태 등록 버튼 클릭
3. 대상: 홍킬동 선택
4. 기준일: 2026-01-22 (기본값)
5. 출근 시간: 9시 0분 (기본값)
6. 퇴근 시간: 18시 0분 (기본값)
7. 저장 버튼 클릭

#### ❌ 예상 결과 vs 실제 결과

| 항목 | 예상 | 실제 | 결과 |
|------|------|------|------|
| 모달 닫힘 | ✅ | ✅ | ✅ |
| 성공 토스트 | 표시됨 | 미표시 | ❌ |
| API 호출 | 200 OK | 서버 에러 | ❌ |
| 테이블 반영 | 홍킬동 09:00-18:00 | 변화 없음 | ❌ |

#### 🔍 콘솔 에러 로그
```
[error] Create failed: 서버 에러
```

#### 💡 원인 분석
- API 서버에서 근태 등록 처리 중 에러 발생
- 가능한 원인:
  1. 동일 직원/날짜에 이미 근태 기록 존재 (중복)
  2. API 엔드포인트 처리 로직 오류
  3. 데이터베이스 제약 조건 위반

#### 📚 관련 문서
- SAM 정책: `C:\Users\codeb\.claude\skills\sam_policy\SKILL.md`
- API 규칙: `C:\Users\codeb\docs\standards\api-rules.md`

**영향 범위**: api
**변경 승인 정책**: ⚠️ 컨펌 필요

---

## 📈 동작 검증 결과

| UI 요소 | 검증 수준 | 동작 | 결과 | 비고 |
|---------|----------|------|------|------|
| 근태 등록 버튼 | Level 3 | 클릭 → 모달 열림 | ✅ | 정상 동작 |
| 대상 combobox | Level 3 | 클릭 → 직원 목록 표시 | ✅ | 9명 표시 |
| 출근 시간 선택 | Level 2 | 기본값 표시 | ✅ | 9시 0분 |
| 퇴근 시간 선택 | Level 2 | 기본값 표시 | ✅ | 18시 0분 |
| 저장 버튼 | Level 4 | 클릭 → API → 결과 | ❌ | 서버 에러 |

---

## ✅ 정상 동작 확인된 기능

1. **근태 등록 모달**
   - 모달 열기 정상
   - 대상 (직원) 선택 combobox
   - 기준일 datepicker (기본값: 오늘)
   - 출근 시간: 시/분 선택 (기본값 9:00)
   - 퇴근 시간: 시/분 선택 (기본값 18:00)
   - 야간 연장 시간 선택
   - 주말 연장 시간 선택

2. **UI 요소**
   - 취소 버튼 동작
   - 저장 버튼 클릭 → 모달 닫힘 (API 호출은 실패)

---

## 📸 스크린샷

- attendance-register-after-save: 저장 시도 후 페이지

---

## 🎯 테스트 결론

근태 등록 기능의 UI는 정상 동작하나 **서버 에러로 인해 저장이 실패**합니다:
- ✅ 모달 열기/닫기
- ✅ 대상 직원 선택
- ✅ 시간 설정 UI
- ❌ **저장 API 호출 실패** (서버 에러)

**긴급 수정 필요**: 근태 등록 API 서버 에러 수정

---

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