function ResponseStatusTest::testStatusCodesValidation

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/KernelTests/Core/Plugin/Condition/ResponseStatusTest.php \Drupal\KernelTests\Core\Plugin\Condition\ResponseStatusTest::testStatusCodesValidation()

Tests the schema constraints on the `status_codes` config.

Attributes

#[DataProvider('providerStatusCodesValidation')]

File

core/tests/Drupal/KernelTests/Core/Plugin/Condition/ResponseStatusTest.php, line 316

Class

ResponseStatusTest
Tests the Response Status Condition, provided by the system module.

Namespace

Drupal\KernelTests\Core\Plugin\Condition

Code

public function testStatusCodesValidation(array $status_codes, array $expected_messages) : void {
  $typed_config = $this->container
    ->get(TypedConfigManagerInterface::class);
  $data = [
    'id' => 'response_status',
    'negate' => FALSE,
    'context_mapping' => [],
    'status_codes' => $status_codes,
  ];
  $definition = $typed_config->getDefinition('condition.plugin.response_status');
  $data_definition = $typed_config->buildDataDefinition($definition, $data);
  $violations = $typed_config->create($data_definition, $data)
    ->validate();
  $actual_messages = [];
  foreach ($violations as $violation) {
    $actual_messages[$violation->getPropertyPath()] = (string) $violation->getMessage();
  }
  $this->assertSame($expected_messages, $actual_messages);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.