-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #82 from MARU-EGG/refactor/질문-상태-목록-분리
[refactor] 질문 상태 목록 분리
- Loading branch information
Showing
5 changed files
with
91 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
src/main/java/mju/iphak/maru_egg/question/api/QuestionTypeStatusController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package mju.iphak.maru_egg.question.api; | ||
|
||
import java.util.List; | ||
|
||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
import lombok.RequiredArgsConstructor; | ||
import mju.iphak.maru_egg.common.meta.CustomApiResponse; | ||
import mju.iphak.maru_egg.common.meta.CustomApiResponses; | ||
import mju.iphak.maru_egg.question.application.QuestionTypeStatusService; | ||
import mju.iphak.maru_egg.question.dto.response.QuestionTypeStatusResponse; | ||
|
||
@RequiredArgsConstructor | ||
@RestController | ||
@RequestMapping("/api/questions/status") | ||
public class QuestionTypeStatusController { | ||
|
||
private final QuestionTypeStatusService questionTypeStatusService; | ||
|
||
@CustomApiResponses({ | ||
@CustomApiResponse(error = "InternalServerError", status = 500, message = "내부 서버 오류가 발생했습니다.", description = "내부 서버 오류") | ||
}) | ||
@GetMapping() | ||
public List<QuestionTypeStatusResponse> getQuestionTypeStatus() { | ||
return questionTypeStatusService.getQuestionTypeStatus(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
src/main/java/mju/iphak/maru_egg/question/docs/QuestionTypeStatusControllerDocs.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package mju.iphak.maru_egg.question.docs; | ||
|
||
import java.util.List; | ||
|
||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import mju.iphak.maru_egg.question.dto.response.QuestionTypeStatusResponse; | ||
|
||
@Tag(name = "QuestionTypeStatus API", description = "질문타입 상태 관련 API 입니다.") | ||
public interface QuestionTypeStatusControllerDocs { | ||
|
||
@Operation(summary = "전체 질문타입과 상태 조회", description = "전체 질문타입과 상태를 조회합니다.", responses = { | ||
@ApiResponse(responseCode = "200", description = "전체 질문타입과 상태 조회 성공") | ||
}) | ||
List<QuestionTypeStatusResponse> getQuestionTypeStatus(); | ||
} |
45 changes: 45 additions & 0 deletions
45
src/test/java/mju/iphak/maru_egg/question/api/QuestionTypeStatusControllerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
package mju.iphak.maru_egg.question.api; | ||
|
||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; | ||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*; | ||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; | ||
|
||
import org.junit.jupiter.api.BeforeEach; | ||
import org.junit.jupiter.api.DisplayName; | ||
import org.junit.jupiter.api.Test; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.http.MediaType; | ||
import org.springframework.test.web.servlet.ResultActions; | ||
|
||
import mju.iphak.maru_egg.common.IntegrationTest; | ||
import mju.iphak.maru_egg.question.application.QuestionTypeStatusService; | ||
|
||
class QuestionTypeStatusControllerTest extends IntegrationTest { | ||
|
||
@Autowired | ||
private QuestionTypeStatusService questionTypeStatusService; | ||
|
||
@BeforeEach | ||
void setUp() { | ||
questionTypeStatusService.initializeQuestionTypeStatus(); | ||
} | ||
|
||
@DisplayName("200 전체 질문타입과 상태 조회") | ||
@Test | ||
public void 전체_질문타입과_상태_조회_정상적인_요청() throws Exception { | ||
// given & when | ||
ResultActions resultActions = performGetQuestionTypeStatus(); | ||
|
||
// then | ||
resultActions | ||
.andExpect(status().isOk()) | ||
.andExpect(jsonPath("$").isArray()) | ||
.andExpect(jsonPath("$").isNotEmpty()); | ||
} | ||
|
||
private ResultActions performGetQuestionTypeStatus() throws Exception { | ||
return mvc.perform(get("/api/questions/status") | ||
.contentType(MediaType.APPLICATION_JSON)) | ||
.andDo(print()); | ||
} | ||
} |