ContentTranslationPermissionsTest.php in Drupal 9
File
core/modules/content_translation/tests/src/Kernel/ContentTranslationPermissionsTest.php
View source
<?php
namespace Drupal\Tests\content_translation\Kernel;
use Drupal\entity_test\Entity\EntityTestMulBundle;
use Drupal\KernelTests\KernelTestBase;
class ContentTranslationPermissionsTest extends KernelTestBase {
protected static $modules = [
'system',
'language',
'content_translation',
'user',
'entity_test',
];
protected function setUp() : void {
parent::setUp();
$this
->installEntitySchema('entity_test_mul');
$this
->installEntitySchema('entity_test_mul_with_bundle');
EntityTestMulBundle::create([
'id' => 'test',
'label' => 'Test label',
'description' => 'My test description',
])
->save();
}
public function testPermissions() {
$this->container
->get('content_translation.manager')
->setEnabled('entity_test_mul', 'entity_test_mul', TRUE);
$this->container
->get('content_translation.manager')
->setEnabled('entity_test_mul_with_bundle', 'test', TRUE);
$permissions = $this->container
->get('user.permissions')
->getPermissions();
$this
->assertEquals([
'entity_test',
], $permissions['translate entity_test_mul']['dependencies']['module']);
$this
->assertEquals([
'entity_test.entity_test_mul_bundle.test',
], $permissions['translate test entity_test_mul_with_bundle']['dependencies']['config']);
$this->container
->get('state')
->set('entity_test_mul.permission_granularity', 'bundle');
$this->container
->get('entity_type.manager')
->clearCachedDefinitions();
$permissions = $this->container
->get('user.permissions')
->getPermissions();
$this
->assertEquals([
'entity_test',
], $permissions['translate entity_test_mul entity_test_mul']['dependencies']['module']);
$this
->assertEquals([
'entity_test.entity_test_mul_bundle.test',
], $permissions['translate test entity_test_mul_with_bundle']['dependencies']['config']);
}
}