어떤 기능인가요?
진입 라우팅이 걸린 errorCode 계약에 테스트가 없습니다. EntryState 작업(#562)에서 checkIsRegistered가 apiCallBuilder로 통합되고 서버 에러 코드가 errorCode로 올라오게 바뀌었는데, 이 규칙을 고정하는 테스트가 없어 문자열 하나만 바뀌어도 회귀를 못 잡습니다.
검증할 계약은 둘입니다.
AuthRepositoryImpl.checkIsRegistered(): 200에 isRegistered true면 Registered와 memberId 저장 / errorCode가 AUTHENTICATION_FAILED면 Unregistered이고 저장 없음 / "401"과 USER_ID_HEADER_MISSING, NETWORK_ERROR면 Indeterminate
ApiCallBuilder: 401에 서버 body code가 있으면 그 code / body 없는 401이면 "401" / 500이면 UNKNOWN_ERROR / IOException이면 NETWORK_ERROR
작업 상세 내용
참고할만한 자료(선택)
#562 후속입니다. Room 작업과 무관해서 아무 때나 진행할 수 있습니다.
어떤 기능인가요?
진입 라우팅이 걸린 errorCode 계약에 테스트가 없습니다. EntryState 작업(#562)에서
checkIsRegistered가apiCallBuilder로 통합되고 서버 에러 코드가 errorCode로 올라오게 바뀌었는데, 이 규칙을 고정하는 테스트가 없어 문자열 하나만 바뀌어도 회귀를 못 잡습니다.검증할 계약은 둘입니다.
AuthRepositoryImpl.checkIsRegistered(): 200에 isRegistered true면 Registered와 memberId 저장 / errorCode가 AUTHENTICATION_FAILED면 Unregistered이고 저장 없음 / "401"과 USER_ID_HEADER_MISSING, NETWORK_ERROR면 IndeterminateApiCallBuilder: 401에 서버 body code가 있으면 그 code / body 없는 401이면 "401" / 500이면 UNKNOWN_ERROR / IOException이면 NETWORK_ERROR작업 상세 내용
AuthRepositoryImpl.checkIsRegistered분기 테스트 4종ApiCallBuilder에러 매핑 테스트 (서버 code, 비JSON 401, 500, IOException)참고할만한 자료(선택)
#562 후속입니다. Room 작업과 무관해서 아무 때나 진행할 수 있습니다.