function ResourceTypeRepositoryTest::testResourceTypeFieldAliasing

Same name in other branches
  1. 9 core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php \Drupal\Tests\jsonapi\Kernel\ResourceType\ResourceTypeRepositoryTest::testResourceTypeFieldAliasing()
  2. 8.9.x core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php \Drupal\Tests\jsonapi\Kernel\ResourceType\ResourceTypeRepositoryTest::testResourceTypeFieldAliasing()
  3. 10 core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php \Drupal\Tests\jsonapi\Kernel\ResourceType\ResourceTypeRepositoryTest::testResourceTypeFieldAliasing()

Tests that resource type fields can be aliased per resource type.

File

core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php, line 179

Class

ResourceTypeRepositoryTest
@coversDefaultClass \Drupal\jsonapi\ResourceType\ResourceTypeRepository @group jsonapi

Namespace

Drupal\Tests\jsonapi\Kernel\ResourceType

Code

public function testResourceTypeFieldAliasing() : void {
    $this->assertSame($this->resourceTypeRepository
        ->getByTypeName('node--article')
        ->getPublicName('uid'), 'uid');
    $this->assertSame($this->resourceTypeRepository
        ->getByTypeName('node--page')
        ->getPublicName('uid'), 'uid');
    $resource_type_field_aliases = [
        'node--article' => [
            'uid' => 'author',
        ],
        'node--page' => [
            'uid' => 'owner',
        ],
    ];
    \Drupal::state()->set('jsonapi_test_resource_type_builder.resource_type_field_aliases', $resource_type_field_aliases);
    Cache::invalidateTags([
        'jsonapi_resource_types',
    ]);
    $this->assertSame($this->resourceTypeRepository
        ->getByTypeName('node--article')
        ->getPublicName('uid'), 'author');
    $this->assertSame($this->resourceTypeRepository
        ->getByTypeName('node--page')
        ->getPublicName('uid'), 'owner');
}

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