function JsonApiTopLevelResourceNormalizerTest::testConfigEntityResourceObjectSchema

Test the generated config resource object normalization against the schema.

@covers \Drupal\jsonapi\Normalizer\ResourceObjectNormalizer::normalize
@covers \Drupal\jsonapi\Normalizer\ResourceObjectNormalizer::getNormalizationSchema

File

core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiTopLevelResourceNormalizerTest.php, line 895

Class

JsonApiTopLevelResourceNormalizerTest
@coversDefaultClass \Drupal\jsonapi\Normalizer\JsonApiDocumentTopLevelNormalizer[[api-linebreak]] @group jsonapi

Namespace

Drupal\Tests\jsonapi\Kernel\Normalizer

Code

public function testConfigEntityResourceObjectSchema() : void {
  [
    ,
    $resource_object,
  ] = $this->getTestConfigEntityResource();
  $serializer = $this->container
    ->get('jsonapi.serializer');
  $context = [
    'account' => NULL,
  ];
  $format = $this->getJsonSchemaTestNormalizationFormat();
  $schema = $serializer->normalize($resource_object, 'json_schema', $context);
  $this->doCheckSchemaAgainstMetaSchema($schema);
  $normalized = json_decode(json_encode($serializer->normalize($resource_object, $format, $context)
    ->getNormalization()));
  $validator = $this->getValidator();
  $validator->validate($normalized, json_decode(json_encode($schema)));
  $this->assertSame([], $validator->getErrors(), 'Validation errors on object ' . print_r($normalized, TRUE) . ' with schema ' . print_r($schema, TRUE));
}

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