diff --git a/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php index b663f2707194edc43b026195d4bd9e7891731344..0a7c8cc5a7b22900f8fbe52938c20b8d0d544bf7 100644 --- a/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php +++ b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php @@ -74,6 +74,9 @@ protected function checkAccess(EntityInterface $entity, $operation, AccountInter case 'delete': return AccessResult::allowedIfHasPermission($account, 'administer menu') ->andIf(AccessResult::allowedIf(!$entity->isNew())->addCacheableDependency($entity)); + + default: + return parent::checkAccess($entity, $operation, $account); } } diff --git a/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php b/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php new file mode 100644 index 0000000000000000000000000000000000000000..ea39e96b87989608f1e29500a60905aa0843b406 --- /dev/null +++ b/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php @@ -0,0 +1,54 @@ +createMock(EntityTypeInterface::class); + $accessManager = $this->createMock(AccessManagerInterface::class); + $moduleHandler = $this->createMock(ModuleHandlerInterface::class); + $moduleHandler->expects($this->any()) + ->method('invokeAll') + ->willReturn([]); + + $language = $this->createMock(LanguageInterface::class); + $language->expects($this->any()) + ->method('getId') + ->will($this->returnValue('de')); + + $entity = $this->createMock(ContentEntityInterface::class); + $entity->expects($this->any()) + ->method('language') + ->willReturn($language); + + $account = $this->createMock(AccountInterface::class); + + $accessControl = new MenuLinkContentAccessControlHandler($entityType, $accessManager); + $accessControl->setModuleHandler($moduleHandler); + $access = $accessControl->access($entity, 'not-an-op', $account, TRUE); + $this->assertInstanceOf(AccessResultInterface::class, $access); + } + +}