Add filter on QuizCategory Enums API

This commit is contained in:
MangKyu
2022-02-01 04:21:28 +09:00
parent 1975b72f0e
commit dd369ec2cc
2 changed files with 8 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@RequiredArgsConstructor
@@ -18,7 +19,11 @@ public class EnumsController {
@GetMapping("/enums/quiz-categories")
public ResponseEntity<List<EnumMapperValue>> getQuizCategoryList() {
return ResponseEntity.ok(enumMapperFactory.get(EnumMapperKey.QUIZ_CATEGORY));
final List<EnumMapperValue> quizCategoryList = enumMapperFactory.get(EnumMapperKey.QUIZ_CATEGORY);
return ResponseEntity.ok(quizCategoryList.stream()
.filter(EnumMapperValue::isExpose)
.collect(Collectors.toList()));
}
@GetMapping("/enums/quiz-levels")

View File

@@ -15,6 +15,7 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import java.util.Arrays;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@@ -43,7 +44,7 @@ class EnumsControllerTest {
// then
final ResultActions resultActions = result.andExpect(status().isOk());
final String stringResponse = resultActions.andReturn().getResponse().getContentAsString();
assertThat(new Gson().fromJson(stringResponse, List.class).size()).isEqualTo(QuizCategory.values().length);
assertThat(new Gson().fromJson(stringResponse, List.class).size()).isEqualTo(Arrays.stream(QuizCategory.values()).filter(QuizCategory::isExpose).count());
}
@Test