eZ\Publish\Core\Repository\Tests\Service\Mock\RoleTest::testRemovePolicy PHP Метод

testRemovePolicy() публичный Метод

Test for the removePolicy() method.
public testRemovePolicy ( )
    public function testRemovePolicy()
    {
        $repository = $this->getRepositoryMock();
        $roleServiceMock = $this->getPartlyMockedRoleService(array('loadRole'));
        $policyMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\Policy');
        $roleMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\Role');
        $roleMock->expects($this->any())->method('__get')->with('id')->will($this->returnValue(24));
        $policyMock->expects($this->any())->method('__get')->will($this->returnValueMap(array(array('id', 42), array('roleId', 24))));
        $repository->expects($this->once())->method('hasAccess')->with($this->equalTo('role'), $this->equalTo('update'))->will($this->returnValue(true));
        $repository->expects($this->once())->method('beginTransaction');
        $userHandlerMock = $this->getPersistenceMockHandler('User\\Handler');
        $userHandlerMock->expects($this->once())->method('deletePolicy')->with($this->equalTo(42));
        $repository->expects($this->once())->method('commit');
        $roleServiceMock->expects($this->once())->method('loadRole')->with(24)->will($this->returnValue('ROLE'));
        /* @var \eZ\Publish\API\Repository\Values\User\Role $roleMock */
        /* @var \eZ\Publish\API\Repository\Values\User\Policy $policyMock */
        $result = $roleServiceMock->removePolicy($roleMock, $policyMock);
        $this->assertEquals('ROLE', $result);
    }