eZ\Publish\Core\Repository\Tests\Service\Mock\SearchTest::testFindSingle PHP Method

testFindSingle() public method

Test for the findSingle() method.
public testFindSingle ( )
    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);
    }