You are here

public function OptionsRequestSubscriberTest::testWithOptionsRequest in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/EventSubscriber/OptionsRequestSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\OptionsRequestSubscriberTest::testWithOptionsRequest()
  2. 10 core/tests/Drupal/Tests/Core/EventSubscriber/OptionsRequestSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\OptionsRequestSubscriberTest::testWithOptionsRequest()

@covers ::onRequest @dataProvider providerTestOnRequestWithOptionsRequest

File

core/tests/Drupal/Tests/Core/EventSubscriber/OptionsRequestSubscriberTest.php, line 58

Class

OptionsRequestSubscriberTest
@coversDefaultClass \Drupal\Core\EventSubscriber\OptionsRequestSubscriber @group EventSubscriber

Namespace

Drupal\Tests\Core\EventSubscriber

Code

public function testWithOptionsRequest(RouteCollection $collection, $expected_header) {
  $kernel = $this
    ->prophesize(HttpKernelInterface::class);
  $request = Request::create('/example', 'OPTIONS');
  $route_provider = $this
    ->prophesize(RouteProviderInterface::class);
  $route_provider
    ->getRouteCollectionForRequest($request)
    ->willReturn($collection)
    ->shouldBeCalled();
  $subscriber = new OptionsRequestSubscriber($route_provider
    ->reveal());
  $event = new RequestEvent($kernel
    ->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
  $subscriber
    ->onRequest($event);
  $this
    ->assertTrue($event
    ->hasResponse());
  $response = $event
    ->getResponse();
  $this
    ->assertEquals(200, $response
    ->getStatusCode());
  $this
    ->assertEquals($expected_header, $response->headers
    ->get('Allow'));
}