X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Ftests%2Fsrc%2FKernel%2FNodeEntityBundleInfoTest.php;fp=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Ftests%2Fsrc%2FKernel%2FNodeEntityBundleInfoTest.php;h=1a51d89e9de05ae35a5bc1af3f05b26a3113e823;hp=0000000000000000000000000000000000000000;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68 diff --git a/web/modules/contrib/permissions_by_term/tests/src/Kernel/NodeEntityBundleInfoTest.php b/web/modules/contrib/permissions_by_term/tests/src/Kernel/NodeEntityBundleInfoTest.php new file mode 100644 index 000000000..1a51d89e9 --- /dev/null +++ b/web/modules/contrib/permissions_by_term/tests/src/Kernel/NodeEntityBundleInfoTest.php @@ -0,0 +1,100 @@ +nodeEntityBundleInfo = $this->container->get('permissions_by_term.node_entity_bundle_info'); + } + + /** + * @return void + */ + public function testGetPermissionsByTids() { + $testUser1 = User::create([ + 'uid' => 5, + 'name' => 'testUser1', + 'mail' => 'foobar@example.com', + ]); + $testUser1->save(); + + $role = Role::create([ + 'id' => 'first-role', + 'label' => 'First Role' + ]); + $role->save(); + + $testUser2 = User::create([ + 'uid' => 6, + 'name' => 'testUser2', + 'mail' => 'foobar@example.com', + ]); + $testUser2->save(); + + $role = Role::create([ + 'id' => 'second-role', + 'label' => 'Second Role' + ]); + $role->save(); + + $testUser3 = User::create([ + 'uid' => 7, + 'name' => 'testUser3', + 'mail' => 'foobar@example.com', + ]); + $testUser3->save(); + + $role = Role::create([ + 'id' => 'third-role', + 'label' => 'Third Role' + ]); + $role->save(); + + $firstTerm = Term::create([ + 'name' => 'term2', + 'vid' => 'test', + ]); + $firstTerm->save(); + + $secondTerm = Term::create([ + 'name' => 'term3', + 'vid' => 'test', + ]); + $secondTerm->save(); + + $this->accessStorage->addTermPermissionsByUserIds([5, 6, 7], $firstTerm->id()); + $this->accessStorage->addTermPermissionsByRoleIds(['first-role', 'second-role', 'third-role'], $firstTerm->id()); + $this->accessStorage->addTermPermissionsByRoleIds(['second-role', 'third-role'], $secondTerm->id()); + + $permissions = $this->nodeEntityBundleInfo->getPermissions(); + + $expectedPermissions = [ + 'roleLabels' => [1 => ['First Role', 'Second Role', 'Third Role'], 2 => ['Second Role', 'Third Role']], + 'userDisplayNames' => [1 => ['testUser1', 'testUser2', 'testUser3']] + ]; + + $this->assertArraySubset($expectedPermissions, $permissions); + } + +} \ No newline at end of file