![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/framework/Authorization/Test/Unit/Policy/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Authorization\Test\Unit\Policy; use Laminas\Permissions\Acl\Exception\InvalidArgumentException; use Magento\Framework\Acl\Builder; use Magento\Framework\Authorization\Policy\Acl; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Magento\Framework\Acl as FrameworkAcl; class AclTest extends TestCase { /** * @var Acl */ protected $_model; /** * @var MockObject */ protected $_aclMock; /** * @var MockObject */ protected $_aclBuilderMock; /** * @inheritdoc */ protected function setUp(): void { $this->_aclMock = $this->createMock(FrameworkAcl::class); $this->_aclBuilderMock = $this->createMock(Builder::class); $this->_aclBuilderMock->expects($this->any())->method('getAcl')->willReturn($this->_aclMock); $this->_model = new Acl($this->_aclBuilderMock); } /** * @return void */ public function testIsAllowedReturnsTrueIfResourceIsAllowedToRole(): void { $this->_aclMock->expects($this->once()) ->method('isAllowed') ->with('some_role', 'some_resource') ->willReturn(true); $this->assertTrue($this->_model->isAllowed('some_role', 'some_resource')); } /** * @return void */ public function testIsAllowedReturnsFalseIfRoleDoesntExist(): void { $this->_aclMock->expects($this->once()) ->method('isAllowed') ->with('some_role', 'some_resource') ->willThrowException(new InvalidArgumentException()); $this->_aclMock->expects($this->once())->method('hasResource')->with('some_resource')->willReturn(true); $this->assertFalse($this->_model->isAllowed('some_role', 'some_resource')); } /** * @return void */ public function testIsAllowedReturnsTrueIfResourceDoesntExistAndAllResourcesAreNotPermitted(): void { $this->_aclMock ->method('isAllowed') ->withConsecutive([ 'some_role', 'some_resource'], ['some_role', null]) ->willReturnOnConsecutiveCalls( $this->throwException(new InvalidArgumentException()), true ); $this->_aclMock->expects($this->once())->method('hasResource')->with('some_resource')->willReturn(false); $this->assertTrue($this->_model->isAllowed('some_role', 'some_resource')); } }