    @Test
    public void listStoresByLocation() throws Exception {

        StoreByMetroAreaProjection storeProjection = makeStoreByMetroAreaProjection();
        doReturn(singletonList(storeProjection))
                .when(mockRepository)
                .findAllProjectedByLocation(any());

        mockMvc
                .perform(
                        get("/stores-by-metro-area")
                                .param("metroArea", "some-metro-area")
                                .accept(MediaType.APPLICATION_JSON_UTF8)
                )
                .andExpect(status().isOk())
                .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                .andReturn();

        verify(mockRepository).findAllProjectedByLocation("some-metro-area");
    }