From edf0ebc0d333e4ff4dc7b3f7c148acc332436877 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Tue, 1 Nov 2022 00:43:18 +0900 Subject: [PATCH] =?UTF-8?q?#24=20simple=20sns:=20=ED=9A=8C=EC=9B=90?= =?UTF-8?q?=EA=B0=80=EC=9E=85,=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sns/controller/UserControllerTest.java | 7 ++++--- .../example/sns/service/UserServiceTest.java | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/simple_sns/src/test/java/com/example/sns/controller/UserControllerTest.java b/simple_sns/src/test/java/com/example/sns/controller/UserControllerTest.java index 30fe8d00..8df37a31 100644 --- a/simple_sns/src/test/java/com/example/sns/controller/UserControllerTest.java +++ b/simple_sns/src/test/java/com/example/sns/controller/UserControllerTest.java @@ -15,6 +15,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; +import static com.example.sns.exception.ErrorCode.*; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @@ -53,7 +54,7 @@ public class UserControllerTest { String username = "username"; String password = "password"; - when(userService.join(username, password)).thenThrow(new SnsApplicationException(ErrorCode.DUPLICATED_USER_NAME, "")); + when(userService.join(username, password)).thenThrow(new SnsApplicationException(DUPLICATED_USER_NAME)); mockMvc.perform(post("/api/v1/users/join") .contentType(MediaType.APPLICATION_JSON) @@ -81,7 +82,7 @@ public class UserControllerTest { String username = "username"; String password = "password"; - when(userService.login(username, password)).thenThrow(new SnsApplicationException()); + when(userService.login(username, password)).thenThrow(new SnsApplicationException(USER_NOT_FOUND)); mockMvc.perform(post("/api/v1/users/login") .contentType(MediaType.APPLICATION_JSON) @@ -95,7 +96,7 @@ public class UserControllerTest { String username = "username"; String password = "password"; - when(userService.login(username, password)).thenThrow(new SnsApplicationException()); + when(userService.login(username, password)).thenThrow(new SnsApplicationException(INVALID_PASSWORD)); mockMvc.perform(post("/api/v1/users/login") .contentType(MediaType.APPLICATION_JSON) diff --git a/simple_sns/src/test/java/com/example/sns/service/UserServiceTest.java b/simple_sns/src/test/java/com/example/sns/service/UserServiceTest.java index a271b8b8..6f2444d2 100644 --- a/simple_sns/src/test/java/com/example/sns/service/UserServiceTest.java +++ b/simple_sns/src/test/java/com/example/sns/service/UserServiceTest.java @@ -12,9 +12,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import java.util.Optional; +import static com.example.sns.exception.ErrorCode.*; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @SpringBootTest @@ -36,7 +36,7 @@ class UserServiceTest { when(userEntityRepository.findByUsername(username)).thenReturn(Optional.empty()); when(encoder.encode(password)).thenReturn("encrypt_password"); - when(userEntityRepository.save(any())).thenReturn(Optional.of(UserEntityFixture.get(username, password))); + when(userEntityRepository.save(any())).thenReturn(UserEntityFixture.get(username, password)); assertDoesNotThrow(() -> userService.join(username, password)); } @@ -52,10 +52,12 @@ class UserServiceTest { when(encoder.encode(password)).thenReturn("encrypt_password"); when(userEntityRepository.save(any())).thenReturn(Optional.of(fixture)); - assertThrows( + SnsApplicationException e = assertThrows( SnsApplicationException.class, () -> userService.join(username, password) ); + + assertEquals(DUPLICATED_USER_NAME, e.getErrorCode()); } @Test @@ -66,6 +68,7 @@ class UserServiceTest { UserEntity fixture = UserEntityFixture.get(username, password); when(userEntityRepository.findByUsername(username)).thenReturn(Optional.of(fixture)); + when(encoder.matches(password, fixture.getPassword())).thenReturn(true); assertDoesNotThrow(() -> userService.login(username, password)); } @@ -77,10 +80,12 @@ class UserServiceTest { when(userEntityRepository.findByUsername(username)).thenReturn(Optional.empty()); - assertThrows( + SnsApplicationException e = assertThrows( SnsApplicationException.class, () -> userService.login(username, password) ); + + assertEquals(USER_NOT_FOUND, e.getErrorCode()); } @Test @@ -93,9 +98,11 @@ class UserServiceTest { when(userEntityRepository.findByUsername(username)).thenReturn(Optional.of(fixture)); - assertThrows( + SnsApplicationException e = assertThrows( SnsApplicationException.class, () -> userService.login(username, wrongPassword) ); + + assertEquals(INVALID_PASSWORD, e.getErrorCode()); } } \ No newline at end of file