Add status/headers to WebMVC FragmentsRendering
See gh-33162
This commit is contained in:
@@ -33,6 +33,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap;
|
||||
import org.springframework.web.servlet.view.FragmentsRendering;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpServletResponse;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -56,7 +57,7 @@ class ModelAndViewMethodReturnValueHandlerTests {
|
||||
void setup() throws Exception {
|
||||
this.handler = new ModelAndViewMethodReturnValueHandler();
|
||||
this.mavContainer = new ModelAndViewContainer();
|
||||
this.webRequest = new ServletWebRequest(new MockHttpServletRequest());
|
||||
this.webRequest = new ServletWebRequest(new MockHttpServletRequest(), new MockHttpServletResponse());
|
||||
this.returnParamModelAndView = getReturnValueParam("modelAndView");
|
||||
}
|
||||
|
||||
@@ -90,10 +91,13 @@ class ModelAndViewMethodReturnValueHandlerTests {
|
||||
|
||||
@Test
|
||||
void handleFragmentsRendering() throws Exception {
|
||||
FragmentsRendering rendering = FragmentsRendering.with("viewName").build();
|
||||
FragmentsRendering rendering = FragmentsRendering.with("viewName")
|
||||
.header("headerName", "headerValue")
|
||||
.build();
|
||||
|
||||
handler.handleReturnValue(rendering, returnParamModelAndView, mavContainer, webRequest);
|
||||
assertThat(mavContainer.getView()).isInstanceOf(SmartView.class);
|
||||
assertThat(this.webRequest.getResponse().getHeader("headerName")).isEqualTo("headerValue");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package org.springframework.web.servlet.view;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -28,7 +27,6 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.support.ResourceBundleMessageSource;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.view.script.ScriptTemplateConfigurer;
|
||||
import org.springframework.web.servlet.view.script.ScriptTemplateViewResolver;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
|
||||
@@ -59,9 +57,9 @@ public class DefaultFragmentsRenderingTests {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
|
||||
DefaultFragmentsRendering view = new DefaultFragmentsRendering(List.of(
|
||||
new ModelAndView("fragment1", Map.of("foo", "Foo")),
|
||||
new ModelAndView("fragment2", Map.of("bar", "Bar"))));
|
||||
FragmentsRendering view = FragmentsRendering.with("fragment1", Map.of("foo", "Foo"))
|
||||
.fragment("fragment2", Map.of("bar", "Bar"))
|
||||
.build();
|
||||
|
||||
view.resolveNestedViews(viewResolver, Locale.ENGLISH);
|
||||
view.render(Collections.emptyMap(), request, response);
|
||||
|
||||
Reference in New Issue
Block a user