HTTP BOUNDARY

E2E는 요청, 데이터, 응답, 정리를 한 흐름으로 검증한다

E2E 테스트가 신뢰를 얻으려면 실제 HTTP endpoint를 호출하고, 테스트 데이터가 준비와 정리 단계에서 격리되며, 실패 응답까지 같은 기준으로 확인되어야 한다.

01 준비 앱과 provider 결정

실제 모듈을 띄우되 제어 어려운 외부 서비스만 override한다.

02 데이터 시나리오 fixture 구성

인증 사용자, 권한, DTO 입력, 기존 데이터를 명시한다.

03 HTTP endpoint로 호출

controller 메서드 직접 호출 대신 Supertest 요청을 보낸다.

04 검증 응답과 side effect

상태 코드, 응답 body, DB 변화, mock 호출을 함께 확인한다.

Auth 인증 경계

토큰 없음, 만료, 권한 없음, 정상 접근.

Validation DTO 실패

잘못된 body가 400과 필드 오류로 반환.

DB 영속화 확인

생성, 수정, 삭제 뒤 실제 상태를 점검.

Cleanup 독립 실행

테스트 순서가 바뀌어도 결과가 유지.

실제 경로 HTTP endpoint를 호출한다.
격리 테스트 데이터가 새지 않는다.
실패 케이스 권한과 검증 실패를 포함한다.
종료 app과 연결을 닫는다.