Add Answer POST APIs
This commit is contained in:
@@ -24,6 +24,13 @@ public class AnswerController {
|
||||
.build();
|
||||
}
|
||||
|
||||
@PostMapping("/answer")
|
||||
public ResponseEntity<Void> postAnswer(@RequestBody @Valid final AddAnswerRequest addAnswerRequest) throws QuizException {
|
||||
answerService.addAnswer(addAnswerRequest);
|
||||
return ResponseEntity.noContent()
|
||||
.build();
|
||||
}
|
||||
|
||||
@GetMapping("/answer/{resourceId}")
|
||||
public ResponseEntity<GetAnswerResponse> getAnswer(@PathVariable final String resourceId) throws QuizException {
|
||||
return ResponseEntity.ok(answerService.getAnswer(resourceId));
|
||||
|
||||
@@ -85,7 +85,7 @@ class AnswerControllerTest {
|
||||
|
||||
// when
|
||||
final ResultActions result = mockMvc.perform(
|
||||
MockMvcRequestBuilders.put(url)
|
||||
MockMvcRequestBuilders.post(url)
|
||||
.content(new Gson().toJson(addAnswerRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
);
|
||||
@@ -105,6 +105,50 @@ class AnswerControllerTest {
|
||||
.build();
|
||||
|
||||
|
||||
// when
|
||||
final ResultActions result = mockMvc.perform(
|
||||
MockMvcRequestBuilders.post(url)
|
||||
.content(new Gson().toJson(addAnswerRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
);
|
||||
|
||||
// then
|
||||
result.andExpect(status().isNoContent());
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource("provideParameters")
|
||||
public void putAnswerFail_InvalidParameter(final String quizResourceId, final String desc) throws Exception {
|
||||
// given
|
||||
final String url = "/answer";
|
||||
|
||||
final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder()
|
||||
.quizResourceId(quizResourceId)
|
||||
.description(desc)
|
||||
.build();
|
||||
|
||||
// when
|
||||
final ResultActions result = mockMvc.perform(
|
||||
MockMvcRequestBuilders.put(url)
|
||||
.content(new Gson().toJson(addAnswerRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
);
|
||||
|
||||
// then
|
||||
result.andExpect(status().isBadRequest());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void putAnswerSuccess() throws Exception {
|
||||
// given
|
||||
final String url = "/answer";
|
||||
|
||||
final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder()
|
||||
.quizResourceId(UUID.randomUUID().toString())
|
||||
.description("desc")
|
||||
.build();
|
||||
|
||||
|
||||
// when
|
||||
final ResultActions result = mockMvc.perform(
|
||||
MockMvcRequestBuilders.put(url)
|
||||
|
||||
Reference in New Issue
Block a user