@Transactional
    public ChecklistQuestionsResponse readChecklistQuestions(User user) {
        List<CustomChecklistQuestion> customChecklistQuestions = customChecklistQuestionRepository.findAllByUser(user);

        Map<Category, List<Question>> categoryQuestions = customChecklistQuestions.stream()
                .map(CustomChecklistQuestion::getQuestion)
                .collect(Collectors.groupingBy(Question::getCategory, LinkedHashMap::new, Collectors.toList()));

        List<CategoryQuestionsResponse> categoryQuestionsResponses = categoryQuestions.entrySet().stream()
                .map(categoryQuestionEntry -> CategoryQuestionsResponse.of(
                        categoryQuestionEntry.getKey(),
                        categoryQuestionEntry.getValue().stream()
                                .map(QuestionResponse::new)
                                .toList()))
                .toList();

        return new ChecklistQuestionsResponse(categoryQuestionsResponses);
    }
@DisplayName("체크리스트 질문 조회 성공")
    @Test
    void readChecklistQuestions() {
        // given
        customChecklistQuestionRepository.saveAll(CustomChecklistFixture.CUSTOM_CHECKLIST_QUESTION_DEFAULT);

        // given & when
        ChecklistQuestionsResponse checklistQuestionsResponse = checklistService.readChecklistQuestions(USER1);

        // then
        List<Integer> defaultQuestionsIds = CUSTOM_CHECKLIST_QUESTION_DEFAULT.stream()
                .map(CustomChecklistQuestion::getQuestion)
                .map(Question::getId)
                .toList();
        List<Integer> responseQuestionsIds = checklistQuestionsResponse.categories().stream()
                .map(CategoryQuestionsResponse::questions)
                .flatMap(Collection::stream)
                .map(QuestionResponse::getQuestionId)
                .toList();

        assertThat(responseQuestionsIds).containsExactlyElementsOf(defaultQuestionsIds);
    }