패스워드가 기존과 같은 경우 EntityAlreadyExist가 아닌 다른 예외를 반환하도록 수정
RegisterRequest를 Member로 변환하는 메서드를 서비스 단으로 수정
RefreshTokenService 관련 리팩토링
LoginDevicesDto -> LoginDeviceDto로 수정
메서드 추출 및 분리
일부 메서드명 수정
MemberAuthService 테스트 작성
아래와 같은 코드는 테스트를 어떻게 작성하는게 좋을까요?
@Transactional
public boolean checkResetPasswordCode(String username, String code) { // true, false 두개의 상황을 테스트?
return emailCodeService.checkResetPasswordCode(username, code);
}
@Transactional(readOnly = true)
public List<LoginDeviceDto> getLoginDevices(String currentToken) { // List내 원소의 개수 테스트 ?
return refreshTokenService.getLoginDevices(authUtil.getLoginMemberId(), currentToken);
}
@Transactional
public void logout(String refreshToken) { // then-should를 통해 테스트 ?
refreshTokenService.deleteRefreshTokenByValue(authUtil.getLoginMemberId(), refreshToken);
}
추가로 위 코드에서 getLoginDevices와 refreshTokenService.getLoginDevices 두개의 메서드 각각 @Transactional(readOnly = true) 어노테이션이 붙어있습니다. 두 메서드에 각각 붙여주는게 옳을까요? 아니면 직접적인 repository 접근은 refreshTokenService내에서 일어나니 memberAuthService에서의 getLoginDevices는 어노테이션을 없애도 될까요?
💬Comment
해당 PR 머지후에는 이메일 서비스 쪽을 리팩토링할 계획입니다. (시험 끝나고..)
📑References
✅Check List
[x] 추가한 기능에 대한 테스트는 모두 완료하셨나요?
[x] 코드 정렬(Ctrl + Alt + L), 불필요한 코드나 오타는 없는지 확인하셨나요?
📌Linked Issues
✏Change Details
MemberAuthService 리팩토링
RefreshTokenService 관련 리팩토링
MemberAuthService 테스트 작성
💬Comment
📑References
✅Check List