다음 함수/클래스에 대한 단위 테스트를 생성해주세요.
[대상 코드]
```{언어}
{테스트할 코드 붙여넣기}
```
[테스트 프레임워크]: {Jest/JUnit/pytest 등}
[출력]
1. 테스트 케이스 목록
- 정상 케이스 (Happy Path)
- 경계값 테스트 (Boundary)
- 예외/에러 케이스
- 엣지 케이스
2. 테스트 코드 (실행 가능한 코드)
3. 모킹 전략 (외부 의존성)
4. 테스트 커버리지 예상
5. 테스트 데이터 팩토리
각 테스트에 한국어 설명 주석을 달아주세요.
AAA 패턴 (Arrange-Act-Assert)을 따라주세요.