/** * Add list of nodes and their children to acl * * @param Acl $acl * @param array $resources * @param AclResource $parent * @return void * @throws \InvalidArgumentException */ protected function _addResourceTree(Acl $acl, array $resources, AclResource $parent = null) { foreach ($resources as $resourceConfig) { if (!isset($resourceConfig['id'])) { throw new \InvalidArgumentException('Missing ACL resource identifier'); } /** @var $resource AclResource */ $resource = $this->_resourceFactory->createResource(array('resourceId' => $resourceConfig['id'])); $acl->addResource($resource, $parent); if (isset($resourceConfig['children'])) { $this->_addResourceTree($acl, $resourceConfig['children'], $resource); } } }
public function testCreateResource() { $arguments = array('5', '6'); $this->_objectManager->expects($this->once())->method('create')->with('Magento\\Framework\\Acl\\Resource', $arguments)->will($this->returnValue($this->_expectedObject)); $this->assertEquals($this->_expectedObject, $this->_model->createResource($arguments)); }