서비스를 개발하다 보니 서비스내에서 성공만 검증하는게 아니라 실패했을때의 예외도 검증해야 더 안정적인 코드가 된다고 생각하여 예외까지 검증을 하였다.
assertThatThrownBy 으로 검증
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@DisplayName("SNS로 등록된 사용자가 있을 경우 일반 로그인이 되지 않는다.")
@Test
void normalLoginIfSnsUserExist() {
// given
User user = createUser("tkdrl8908@naver.com", "1234", SnsType.KAKAO, SettingStatus.INCOMPLETE);
User savedUser = userRepository.save(user);
LoginServiceRequest request = LoginServiceRequest.builder()
.email(savedUser.getEmail())
.password("1234")
.deviceId("asdfasdfasdfsadfsf")
.build();
// when
// then
assertThatThrownBy(() -> loginService.normalLogin(request))
.isInstanceOf(LuckKidsException.class)
.hasMessage("KAKAO");
}