private Mono<ServerResponse> listSinglePages(ServerRequest request) {
        var query = new SinglePagePublicQuery(request.exchange());
        return singlePageFinder.list(query.getPage(),
                query.getSize(),
                query.toPredicate(),
                query.toComparator()
            )
            .flatMap(result -> ServerResponse.ok()
                .contentType(MediaType.APPLICATION_JSON)
                .bodyValue(result)
            );
    }
@Test
    void listSinglePages() {
        ListedSinglePageVo test = ListedSinglePageVo.builder()
            .metadata(metadata("test"))
            .spec(new SinglePage.SinglePageSpec())
            .build();

        ListResult<ListedSinglePageVo> pageResult = new ListResult<>(List.of(test));

        when(singlePageFinder.list(anyInt(), anyInt(), any(), any()))
            .thenReturn(Mono.just(pageResult));

        webTestClient.get()
            .uri("/singlepages?page=0&size=10")
            .exchange()
            .expectStatus().isOk()
            .expectHeader().contentType(MediaType.APPLICATION_JSON)
            .expectBody()
            .jsonPath("$.total").isEqualTo(1)
            .jsonPath("$.items[0].metadata.name").isEqualTo("test");

        verify(singlePageFinder).list(eq(0), eq(10), any(), any());
    }