function BundlePermissionHandlerTraitTest::testGeneratePermissions

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Entity/BundlePermissionHandlerTraitTest.php \Drupal\KernelTests\Core\Entity\BundlePermissionHandlerTraitTest::testGeneratePermissions()
  2. 10 core/tests/Drupal/KernelTests/Core/Entity/BundlePermissionHandlerTraitTest.php \Drupal\KernelTests\Core\Entity\BundlePermissionHandlerTraitTest::testGeneratePermissions()

@covers ::generatePermissions

File

core/tests/Drupal/KernelTests/Core/Entity/BundlePermissionHandlerTraitTest.php, line 28

Class

BundlePermissionHandlerTraitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21BundlePermissionHandlerTrait.php/trait/BundlePermissionHandlerTrait/11.x" title="Provides a method to simplify generating bundle level permissions." class="local">\Drupal\Core\Entity\BundlePermissionHandlerTrait</a>

Namespace

Drupal\KernelTests\Core\Entity

Code

public function testGeneratePermissions() : void {
    EntityTestBundle::create([
        'id' => 'test1',
    ])->save();
    EntityTestBundle::create([
        'id' => 'test2',
    ])->save();
    $permissions = $this->generatePermissions(EntityTestBundle::loadMultiple(), [
        $this,
        'buildPermissions',
    ]);
    $this->assertSame([
        'title' => 'Create',
        'dependencies' => [
            'config' => [
                'entity_test.entity_test_bundle.test1',
            ],
        ],
    ], $permissions['create test1']);
    $this->assertSame([
        'title' => 'Edit',
        'dependencies' => [
            'config' => [
                'test_module.entity.test1',
                'entity_test.entity_test_bundle.test1',
            ],
            'module' => [
                'test_module',
            ],
        ],
    ], $permissions['edit test1']);
    $this->assertSame([
        'title' => 'Create',
        'dependencies' => [
            'config' => [
                'entity_test.entity_test_bundle.test2',
            ],
        ],
    ], $permissions['create test2']);
    $this->assertSame([
        'title' => 'Edit',
        'dependencies' => [
            'config' => [
                'test_module.entity.test2',
                'entity_test.entity_test_bundle.test2',
            ],
            'module' => [
                'test_module',
            ],
        ],
    ], $permissions['edit test2']);
}

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