X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fentity%2Ftests%2Fsrc%2FKernel%2FQueryAccess%2FQueryAccessEventTest.php;fp=web%2Fmodules%2Fcontrib%2Fentity%2Ftests%2Fsrc%2FKernel%2FQueryAccess%2FQueryAccessEventTest.php;h=8ecef3b17c984ee423aaa8b5877208aef6cadc14;hp=0000000000000000000000000000000000000000;hb=f3baf763d342a5f82576890e2a8111a5aaf139dc;hpb=059867c3f96750652c80f39e44c442a58c2549ee diff --git a/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessEventTest.php b/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessEventTest.php new file mode 100644 index 000000000..8ecef3b17 --- /dev/null +++ b/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessEventTest.php @@ -0,0 +1,62 @@ +installEntitySchema('entity_test_enhanced'); + + // Create uid: 1 here so that it's skipped in test cases. + $admin_user = $this->createUser(); + + $entity_type_manager = $this->container->get('entity_type.manager'); + $entity_type = $entity_type_manager->getDefinition('entity_test_enhanced'); + $this->handler = QueryAccessHandler::createInstance($this->container, $entity_type); + } + + /** + * Tests the event. + */ + public function testEvent() { + // By default, the first user should have full access, and the second + // user should have no access. The QueryAccessSubscriber flips that. + $first_user = $this->createUser(['mail' => 'user1@example.com'], ['administer entity_test_enhanced']); + $second_user = $this->createUser(['mail' => 'user2@example.com']); + + $conditions = $this->handler->getConditions('view', $first_user); + $this->assertTrue($conditions->isAlwaysFalse()); + + $conditions = $this->handler->getConditions('view', $second_user); + $this->assertFalse($conditions->isAlwaysFalse()); + } + +}