3 namespace Drupal\Tests\permissions_by_term\Kernel;
5 use Drupal\taxonomy\Entity\Term;
6 use Drupal\user\Entity\Role;
7 use Drupal\user\Entity\User;
8 use Drupal\permissions_by_term\Service\NodeEntityBundleInfo;
11 * Class AccessStorageTest
13 * @package Drupal\Tests\permissions_by_term\Kernel
14 * @group permissions_by_term
16 class NodeEntityBundleInfoTest extends PBTKernelTestBase {
19 * @var NodeEntityBundleInfo
21 private $nodeEntityBundleInfo;
26 protected function setUp() {
28 $this->nodeEntityBundleInfo = $this->container->get('permissions_by_term.node_entity_bundle_info');
34 public function testGetPermissionsByTids() {
35 $testUser1 = User::create([
37 'name' => 'testUser1',
38 'mail' => 'foobar@example.com',
42 $role = Role::create([
44 'label' => 'First Role'
48 $testUser2 = User::create([
50 'name' => 'testUser2',
51 'mail' => 'foobar@example.com',
55 $role = Role::create([
56 'id' => 'second-role',
57 'label' => 'Second Role'
61 $testUser3 = User::create([
63 'name' => 'testUser3',
64 'mail' => 'foobar@example.com',
68 $role = Role::create([
70 'label' => 'Third Role'
74 $firstTerm = Term::create([
80 $secondTerm = Term::create([
86 $this->accessStorage->addTermPermissionsByUserIds([5, 6, 7], $firstTerm->id());
87 $this->accessStorage->addTermPermissionsByRoleIds(['first-role', 'second-role', 'third-role'], $firstTerm->id());
88 $this->accessStorage->addTermPermissionsByRoleIds(['second-role', 'third-role'], $secondTerm->id());
90 $permissions = $this->nodeEntityBundleInfo->getPermissions();
92 $expectedPermissions = [
93 'roleLabels' => [1 => ['First Role', 'Second Role', 'Third Role'], 2 => ['Second Role', 'Third Role']],
94 'userDisplayNames' => [1 => ['testUser1', 'testUser2', 'testUser3']]
97 $this->assertArraySubset($expectedPermissions, $permissions);