public function testFindSingle()
{
$repositoryMock = $this->getRepositoryMock();
/** @var \eZ\Publish\SPI\Search\Handler $searchHandlerMock */
$searchHandlerMock = $this->getSPIMockHandler('Search\\Handler');
$domainMapperMock = $this->getDomainMapperMock();
$permissionsCriterionHandlerMock = $this->getPermissionsCriterionHandlerMock();
$service = new SearchService($repositoryMock, $searchHandlerMock, $domainMapperMock, $permissionsCriterionHandlerMock, array());
$repositoryMock->expects($this->once())->method('getContentService')->will($this->returnValue($contentServiceMock = $this->getMockBuilder('eZ\\Publish\\Core\\Repository\\ContentService')->disableOriginalConstructor()->getMock()));
/** @var \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterionMock */
$criterionMock = $this->getMockBuilder('eZ\\Publish\\API\\Repository\\Values\\Content\\Query\\Criterion')->disableOriginalConstructor()->getMock();
$permissionsCriterionHandlerMock->expects($this->once())->method('addPermissionsCriterion')->with($criterionMock)->will($this->returnValue(true));
$languageFilter = array();
$spiContentInfo = new SPIContentInfo();
$contentMock = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\Content\\Content');
/* @var \PHPUnit_Framework_MockObject_MockObject $searchHandlerMock */
$searchHandlerMock->expects($this->once())->method('findSingle')->with($this->equalTo($criterionMock), $this->equalTo($languageFilter))->will($this->returnValue($spiContentInfo));
$domainMapperMock->expects($this->never())->method($this->anything());
$contentServiceMock->expects($this->once())->method('internalLoadContent')->will($this->returnValue($contentMock));
$result = $service->findSingle($criterionMock, $languageFilter, true);
$this->assertEquals($contentMock, $result);
}