public Page<BoardSimpleResponse> findAllBoard(final Pageable pageable, final Long memberId) {
        QueryResults<BoardSimpleResponse> result = jpaQueryFactory.select(
                        constructor(BoardSimpleResponse.class,
                                board.id,
                                member.nickname,
                                board.post.title,
                                board.createdAt,
                                board.likeCount.likeCount,
                                count(comment.id),
                                isLikedAlreadyByMe(memberId)
                        )).from(board)
                .leftJoin(member).on(board.writerId.eq(member.id))
                .leftJoin(comment).on(comment.boardId.eq(board.id))
                .leftJoin(likeStorage).on(likeStorage.boardId.eq(board.id).and(likeStorage.memberId.eq(memberId)))
                .groupBy(board.id, member.nickname, board.post.title, board.createdAt, board.likeCount.likeCount)
                .orderBy(board.id.desc())
                .offset(pageable.getOffset())
                .limit(pageable.getPageSize())
                .fetchResults();

        return new PageImpl<>(result.getResults(), pageable, result.getTotal());
    }
@Test
    void 게시글_15개에서_1번_페이지에서_10개의_게시글을_페이징_조회를_한다() {
        // given
        List<Board> boards = new ArrayList<>();

        for (int i = 0; i < 15; i++) {
            boards.add(boardRepository.save(게시글_생성_사진없음()));
        }

        PageRequest pageRequest = PageRequest.of(0, 10);

        // when
        Page<BoardSimpleResponse> found = boardQueryRepository.findAllBoard(pageRequest, 1L);

        // then
        List<BoardSimpleResponse> expected = boards.stream()
                .sorted(Comparator.comparing(Board::getId).reversed())
                .limit(10)
                .map(it -> new BoardSimpleResponse(it.getId(), member.getNickname(), it.getPost().getTitle(), it.getCreatedAt(), 0L, 0L, false))
                .toList();

        assertSoftly(softly -> {
            softly.assertThat(found).hasSize(10);
            softly.assertThat(found.hasNext()).isTrue();
            softly.assertThat(found.getContent())
                    .usingRecursiveComparison()
                    .ignoringFieldsOfTypes(LocalDateTime.class)
                    .isEqualTo(expected);
        });
    }