- Role B has no entity chapter permissions.
- User has Role A & B.
+User denied page permission.
+
+#### test_90_fallback_overrides_parent_entity_role_deny
+
+- Chapter permissions have inherit disabled.
+- Page permissions have inherit disabled.
+- Chapter fallback has entity deny permission.
+- Page fallback has entity deny permission.
+- Role A has entity allow chapter permission.
+- User has Role A.
+
+User denied page permission.
+
+#### test_91_fallback_overrides_parent_entity_role_inherit
+
+- Book permissions have inherit disabled.
+- Chapter permissions have inherit disabled.
+- Page permissions have inherit enabled.
+- Book fallback has entity deny permission.
+- Chapter fallback has entity deny permission.
+- Role A has entity allow book permission.
+- User has Role A.
+
User denied page permission.
\ No newline at end of file
$this->assertNotVisibleToUser($page, $user);
}
+
+ public function test_90_fallback_overrides_parent_entity_role_deny()
+ {
+ [$user, $roleA] = $this->users->newUserWithRole();
+ $page = $this->entities->page();
+ $chapter = $page->chapter;
+
+ $this->permissions->setFallbackPermissions($chapter, []);
+ $this->permissions->setFallbackPermissions($page, []);
+ $this->permissions->addEntityPermission($chapter, ['view'], $roleA);
+
+ $this->assertNotVisibleToUser($page, $user);
+ }
+
+ public function test_91_fallback_overrides_parent_entity_role_inherit()
+ {
+ [$user, $roleA] = $this->users->newUserWithRole();
+ $page = $this->entities->page();
+ $chapter = $page->chapter;
+ $book = $page->book;
+
+ $this->permissions->setFallbackPermissions($book, []);
+ $this->permissions->setFallbackPermissions($chapter, []);
+ $this->permissions->addEntityPermission($book, ['view'], $roleA);
+
+ $this->assertNotVisibleToUser($page, $user);
+ }
}