Документирование весеннего теста mvc с пружинными документами отдыха - PullRequest
0 голосов
/ 12 июня 2019

Я работаю с spring mvc для тестирования контроллера пружины, и я хочу задокументировать этот тест с документами по отдыха пружин. Вот как мой тест:

@Test
    @Throws(Exception::class)
    fun shouldReturnDefaultMessage() {
        val paramsMock = mapOf("swid" to "asudyasd-asdasd-asdasd", "seeAll" to true)
        `when`(apiRequest.parameters).thenReturn(paramsMock)
        `when`(browsePlayerServiceRepresentable.getEntitiesBrowse(anyObject())).thenReturn(Single.just(presentBrowsePlayers()))
        val result = mockMvc.perform(MockMvcRequestBuilders.get("/v1/browse/players").flashAttr("apiRequest", apiRequest))
        result.andExpect(MockMvcResultMatchers.status().isOk())
       // ViewResultMatchers view = MockMvcResultMatchers.view();
        result.andExpect(view().name("v1/browse/players"))
        result.andExpect(model().hasNoErrors<ResultMatcher>())
        val modelMap = result.andReturn().getModelAndView().getModelMap()
        val objecto = modelMap["single"]
        val attribites = (modelMap["single"] as Single<*>).toBlocking().value()
        val header = (attribites as BrowsePlayerResponse).header



        //<<--- Since here I am translating this to  spring rest docs ->>>>



      // val paramsMock = mapOf("swid" to "asudyasd-asdasd-asdasd", "seeAll" to true)
        `when`(apiRequest.parameters).thenReturn(paramsMock)
        `when`(browsePlayerServiceRepresentable.getEntitiesBrowse(anyObject())).thenReturn(Single.just(presentBrowsePlayers()))
        this.mockMvc!!.perform(get("/v1/browse/players").flashAttr("apiRequest", apiRequest)
                .param("uid", "s:20~l:23")
                .param("swid", "jsdkjskdjk")
                .param("seeAll", "true")
                .param("region", "us")
                .accept(MediaType.APPLICATION_JSON)
                //.contentType(MediaType.APPLICATION_JSON).content(json(presentBrowsePlayers()))
        )
                .andExpect(status().isOk)
                .andDo(document("home",
                        preprocessResponse(prettyPrint()), requestParameters(
                        parameterWithName("region")
                                .description("Country."),
                        parameterWithName("seeAll")
                                .description("See all elements"),
                        parameterWithName("uid")
                                .description("Team UID"),
                        parameterWithName("swid")
                                .description("Swuid Number indentifier")
                )
                        )).andExpect(view().name("v1/browse/players"))
                .andExpect(model().size<Int>(3))
    }

Я пытаюсь сделать то же самое, что я сделал с Spring mvc для документирования документов Spring Rest, моя проблема с ответом, потому что я не могу использовать responseFields, потому что мой контент пуст, и я получаю и выдаю что-то вроде документ пуст Ну, информация находится в объекте modelAndView. Я получаю один ответ с массивом объектов. Я могу получить доступ к этой информации через этот код.

val modelMap = result.andReturn().getModelAndView().getModelMap()
        val objecto = modelMap["single"]
        val attribites = (modelMap["single"] as Single<*>).toBlocking().value()
        val header = (attribites as BrowsePlayerResponse).header

И я не знаю, как мне документировать этот заголовок ответа, например, с документами Spring Rest. Я довольно новичок в этой технологии, есть какие-нибудь идеи о подлогах?

...