# E2E Test Report: 직원 등록 테스트

**Test ID**: employee-register
**Executed**: 2026-01-14 20:00:00
**Duration**: ~5분
**Status**: ❌ FAIL

## Summary

| Item | Result |
|------|--------|
| Total Steps | 8 |
| Passed | 7 |
| Failed | 1 |

## Step Results

| Step | Name | Status | Duration | Notes |
|------|------|--------|----------|-------|
| 1 | 인사관리 메뉴 진입 | ✅ PASS | 2s | 인사관리 > 직원관리 메뉴 이동 성공 |
| 2 | 사원 등록 페이지 이동 | ✅ PASS | 1s | /hr/employee-management/new 이동 성공 |
| 3 | 사원 정보 입력 | ✅ PASS | 3s | 이름, 주민등록번호, 휴대폰, 이메일, 연봉 입력 완료 |
| 4 | 급여계좌 입력 | ✅ PASS | 2s | 은행명, 계좌번호, 예금주 입력 완료 |
| 5 | 사원 상세 입력 | ✅ PASS | 2s | 사원코드, 성별, 주소 입력 완료 |
| 6 | 인사 정보 입력 | ✅ PASS | 3s | 입사일, 고용형태(정규직), 직급(과장) 선택 완료 |
| 7 | 사용자 정보 입력 | ✅ PASS | 2s | 아이디, 비밀번호, 비밀번호 확인 입력 완료 |
| 8 | 등록 완료 | ❌ FAIL | 2s | 서버 에러 발생 |

## Test Data Used

| Field | Value |
|-------|-------|
| 이름 | 테스트직원_1768387800 |
| 주민등록번호 | 900101-1234567 |
| 휴대폰 | 010-9876-5432 |
| 이메일 | testemployee_1768387800@codebridge-x.com |
| 연봉 | 50000000 |
| 은행명 | 신한은행 |
| 계좌번호 | 110-123-456789 |
| 예금주 | 테스트직원_1768387800 |
| 사원코드 | EMP2026001 |
| 성별 | 남성 |
| 상세주소 | 123번지 4층 |
| 입사일 | 2026-01-14 |
| 고용형태 | 정규직 |
| 직급 | 과장 |
| 상태 | 재직 |
| 아이디 | testuser_1768387800 |
| 비밀번호 | password123! |
| 권한 | 일반 사용자 |
| 계정상태 | 활성 |

## Error Details

### Step 8: 등록 완료

**Error Type**: Server Error
**Error Message**: `[EmployeeNewPage] Create failed: 서버 에러`
**Console Log**:
```
[ERROR] [EmployeeNewPage] Create failed: 서버 에러
```

**Network Request**:
```
[POST] https://dev.codebridge-x.com/hr/employee-management/new => 서버 에러
```

**Screenshot**: [에러 스크린샷](screenshots/employee-register_error_2026-01-14.png)

## Assertions

| Type | Expected | Actual | Result |
|------|----------|--------|--------|
| URL (Step 2) | /hr/employee-management/new | /hr/employee-management/new | ✅ PASS |
| 이름 입력 | 테스트직원_1768387800 | 테스트직원_1768387800 | ✅ PASS |
| 이메일 입력 | testemployee_1768387800@codebridge-x.com | testemployee_1768387800@codebridge-x.com | ✅ PASS |
| 고용형태 선택 | 정규직 | 정규직 | ✅ PASS |
| 직급 선택 | 과장 | 과장 | ✅ PASS |
| 아이디 입력 | testuser_1768387800 | testuser_1768387800 | ✅ PASS |
| 등록 완료 | 목록 페이지 리다이렉트 | 서버 에러 | ❌ FAIL |

## Test Environment

- **Browser**: Chromium (Playwright)
- **URL**: https://dev.codebridge-x.com
- **Login User**: TestUser5 / 홍킬동
- **Test Scenario**: employee-register.json

## Screenshots

- [에러 스크린샷](screenshots/employee-register_error_2026-01-14.png)

---

## 🐛 Bug Report for Developer

**Report ID**: 2026-01-14_20-00-00
**Priority**: High
**Component**: `C:\Users\codeb\react\app\[locale]\(protected)\hr\employee-management\new\page.tsx`

### Issue Summary
사원 등록 시 서버 에러 발생 - 모든 필수 필드 입력 완료 후 등록 버튼 클릭 시 "서버 에러" 토스트 메시지 출력

### Steps to Reproduce
1. 인사관리 > 직원관리 메뉴 진입
2. "사원 등록" 버튼 클릭
3. 모든 필수 필드 입력:
   - 이름: 테스트직원_1768387800
   - 이메일: testemployee_1768387800@codebridge-x.com
   - 아이디: testuser_1768387800
   - 비밀번호: password123!
   - 비밀번호 확인: password123!
4. "등록" 버튼 클릭

### Expected Result
- 사원 등록 성공
- 목록 페이지(/hr/employee-management)로 리다이렉트
- 성공 토스트 메시지 표시
- 목록에 신규 등록된 사원 표시

### Actual Result
- 서버 에러 발생
- 토스트 메시지: "서버 에러"
- 페이지 이동 없음 (등록 페이지 유지)

### Error Details
```
Console Error: [EmployeeNewPage] Create failed: 서버 에러
```

### Screenshots
- [에러 발생 화면](screenshots/employee-register_error_2026-01-14.png)

### Suggested Fix (Reference Only)

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

**가능한 원인 분석**:
1. **API 엔드포인트 문제**: 사원 등록 API가 500 에러 반환
2. **데이터 검증 실패**: 서버측 데이터 검증에서 예상치 못한 에러
3. **DB 제약 조건**: 중복 키 또는 외래 키 제약 조건 위반
4. **필수 필드 누락**: 부서/직책 미선택으로 인한 서버 검증 실패 가능성

**조사 필요 사항**:
1. API 서버 로그 확인 (500 에러 상세 내용)
2. 사원 등록 API 요청 payload 검증
3. DB 테이블 스키마 및 제약 조건 확인

### Related Documentation
- SAM 정책: `C:\Users\codeb\.claude\skills\sam_policy\SKILL.md`
- 문서 인덱스: `C:\Users\codeb\docs\INDEX.md`
- API 규칙: `C:\Users\codeb\docs\standards\api-rules.md`
- DB 스키마: `C:\Users\codeb\docs\specs\database-schema.md`

---

## Notes

### 테스트 실패 원인 분석
1. **서버 에러**: API 엔드포인트에서 500 에러 반환 추정
2. **부서/직책 미선택**: "부서/직책을 추가해주세요" 메시지가 표시되어 있으나, 필수 필드인지 확인 필요
3. **출퇴근 위치 미선택**: 출근/퇴근 위치가 선택되지 않았으나, 필수 여부 확인 필요

### UI/UX 확인 사항
- ✅ 폼 입력 필드 정상 동작
- ✅ 드롭다운 선택 정상 동작
- ✅ 라디오 버튼 선택 정상 동작
- ✅ 날짜 입력 정상 동작
- ❌ 등록 버튼 클릭 시 서버 에러

### 직급 드롭다운 참고
- 테스트 시 "사원" 옵션을 찾으려 했으나 "과장"만 표시됨
- 직급 옵션이 "과장"만 있는 것은 기준정보 설정에 따라 다를 수 있음

---

**Test Result**: ❌ **FAILED** (7/8 steps passed)
