public function testDeleteUser()
{
$repository = $this->getRepositoryMock();
$userService = $this->getPartlyMockedUserService(array('loadUser'));
$contentService = $this->getMock('eZ\\Publish\\API\\Repository\\ContentService');
$userHandler = $this->getPersistenceMock()->userHandler();
$user = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\User');
$loadedUser = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\User\\User');
$versionInfo = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\VersionInfo');
$contentInfo = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\ContentInfo');
$user->expects($this->once())->method('__get')->with('id')->will($this->returnValue(42));
$versionInfo->expects($this->once())->method('getContentInfo')->will($this->returnValue($contentInfo));
$loadedUser->expects($this->once())->method('getVersionInfo')->will($this->returnValue($versionInfo));
$loadedUser->expects($this->once())->method('__get')->with('id')->will($this->returnValue(42));
$userService->expects($this->once())->method('loadUser')->with(42)->will($this->returnValue($loadedUser));
$repository->expects($this->once())->method('beginTransaction');
$contentService->expects($this->once())->method('deleteContent')->with($contentInfo);
$repository->expects($this->once())->method('getContentService')->will($this->returnValue($contentService));
/* @var \PHPUnit_Framework_MockObject_MockObject $userHandler */
$userHandler->expects($this->once())->method('delete')->with(42);
$repository->expects($this->once())->method('commit');
/* @var \eZ\Publish\API\Repository\Values\User\User $user */
$userService->deleteUser($user);
}