eZ\Publish\Core\Repository\Tests\Service\Mock\RoleTest::testAssignRoleToUserWithNullLimitation PHP Method

testAssignRoleToUserWithNullLimitation() public method

Test for the assignRoleToUser() method.
    public function testAssignRoleToUserWithNullLimitation()
    {
        $repository = $this->getRepositoryMock();
        $roleServiceMock = $this->getPartlyMockedRoleService(array('checkAssignmentAndFilterLimitationValues'));
        $roleMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\Role');
        $userMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\User');
        $userHandlerMock = $this->getPersistenceMockHandler('User\\Handler');
        $userMock->expects($this->any())->method('__get')->with('id')->will($this->returnValue(24));
        $repository->expects($this->once())->method('canUser')->with($this->equalTo('role'), $this->equalTo('assign'), $this->equalTo($userMock), $this->equalTo($roleMock))->will($this->returnValue(true));
        $roleMock->expects($this->any())->method('__get')->with('id')->will($this->returnValue(42));
        $userHandlerMock->expects($this->once())->method('loadRole')->with($this->equalTo(42))->will($this->returnValue(new SPIRole(array('id' => 42))));
        $userHandlerMock->expects($this->once())->method('load')->with($this->equalTo(24))->will($this->returnValue(new SPIUser(array('id' => 24))));
        $roleServiceMock->expects($this->once())->method('checkAssignmentAndFilterLimitationValues')->with(24, $this->isInstanceOf('\\eZ\\Publish\\SPI\\Persistence\\User\\Role'), null)->will($this->returnValue(null));
        $repository->expects($this->once())->method('beginTransaction');
        $userHandlerMock = $this->getPersistenceMockHandler('User\\Handler');
        $userHandlerMock->expects($this->once())->method('assignRole')->with($this->equalTo(24), $this->equalTo(42), $this->equalTo(null));
        $repository->expects($this->once())->method('commit');
        /* @var \eZ\Publish\API\Repository\Values\User\Role $roleMock */
        /* @var \eZ\Publish\API\Repository\Values\User\User $userMock */
        $roleServiceMock->assignRoleToUser($roleMock, $userMock, null);
    }