From decf0c77cb5529bf38860e5fe06b07ccade8dd41 Mon Sep 17 00:00:00 2001 From: bum12ark Date: Tue, 15 Mar 2022 17:50:40 +0900 Subject: [PATCH] =?UTF-8?q?test(user-service):=20=EA=B3=A0=EA=B0=9D=20?= =?UTF-8?q?=EA=B3=A0=EC=9C=A0=EB=B2=88=ED=98=B8=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A1=9C=20=EA=B3=A0=EA=B0=9D=20=EA=B0=80=EC=A0=B8?= =?UTF-8?q?=EC=98=A4=EA=B8=B0=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- user-service/src/docs/asciidoc/api-docs.adoc | 2 + .../domain/user/web/UserController.java | 2 +- .../domain/user/web/UserControllerTest.java | 51 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/user-service/src/docs/asciidoc/api-docs.adoc b/user-service/src/docs/asciidoc/api-docs.adoc index 8bb36ad..9a7faea 100644 --- a/user-service/src/docs/asciidoc/api-docs.adoc +++ b/user-service/src/docs/asciidoc/api-docs.adoc @@ -69,6 +69,8 @@ domain-httpRequestCode-etc operation::customer-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields'] === 회원 조회 (존재하지 않는 회원) operation::customer-get-notExistUserException[snippets='curl-request,http-request,http-response,path-parameters,response-fields'] +=== 회원 조회 +operation::customers-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields'] == 점주 === 회원가입 - 점주 diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java index 8c723d2..c1eee47 100644 --- a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java +++ b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java @@ -27,7 +27,7 @@ public class UserController { private final UserService userService; @GetMapping("/customer/{userId}") - public ResponseEntity getCustomer(@Valid @PathVariable("userId") Long userId) { + public ResponseEntity getCustomer(@PathVariable("userId") Long userId) { CustomerDto customerDto = userService.findCustomerByUserId(userId); diff --git a/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java b/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java index 93c2c3d..9b244bc 100644 --- a/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java +++ b/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java @@ -24,6 +24,10 @@ import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.willThrow; @@ -198,4 +202,51 @@ class UserControllerTest { )) ; } + + @Test + @DisplayName("[GET] 고객 리스트 조회") + void getCustomers() throws Exception { + // GIVEN + List customerIds = List.of(1L, 2L, 3L); + + given(userService.findCustomerByUserIds(customerIds)) + .willReturn(customerWillReturnDto(customerIds)); + + String customerIdsParam = customerIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + // THEN + ResultActions actions = mockMvc.perform(get("/customers/{customerIds}", customerIdsParam)); + // WHEN + actions.andExpect(status().isOk()) + .andExpect(jsonPath("code").value(Code.SUCCESS.name())) + .andExpect(jsonPath("message").value("")) + .andDo(print()) + .andDo(document("customers-get", + pathParameters( + parameterWithName("customerIds").description("회원 고유 번호들") + ), + responseFields( + fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"), + fieldWithPath("message").description("메시지"), + fieldWithPath("data[*].userId").description("회원 고유 번호"), + fieldWithPath("data[*].userName").description("회원 이름"), + fieldWithPath("data[*].phoneNumber").description("회원 전화번호") + ) + )) + ; + } + + private List customerWillReturnDto(List customerIds) { + List customerDtoList = new ArrayList<>(); + for (Long customerId : customerIds) { + CustomerDto customerDto = CustomerDto.builder() + .id(customerId) + .name("이름" + customerId) + .phoneNumber("010-1234-5678") + .build(); + customerDtoList.add(customerDto); + } + return customerDtoList; + } } \ No newline at end of file