installEntitySchema('entity_test'); } /** * @covers ::buildResponse */ public function testBuildResponse() { /** @var \Drupal\views\Entity\View $view */ $view = View::load('test_serializer_display_entity'); $display = &$view->getDisplay('rest_export_1'); $display['display_options']['defaults']['style'] = FALSE; $display['display_options']['style']['type'] = 'serializer'; $display['display_options']['style']['options']['formats'] = ['json', 'xml']; $view->save(); // No custom header should be set yet. $response = RestExport::buildResponse('test_serializer_display_entity', 'rest_export_1', []); $this->assertFalse($response->headers->get('Custom-Header')); // Clear render cache. /** @var \Drupal\Core\Cache\MemoryBackend $render_cache */ $render_cache = $this->container->get('cache_factory')->get('render'); $render_cache->deleteAll(); // A custom header should now be added. // @see rest_test_views_views_post_execute() $header = $this->randomString(); $this->container->get('state')->set('rest_test_views_set_header', $header); $response = RestExport::buildResponse('test_serializer_display_entity', 'rest_export_1', []); $this->assertEquals($header, $response->headers->get('Custom-Header')); } }