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

testFindContentWithPermission() public method

Test for the findContent() method.
    public function testFindContentWithPermission()
    {
        $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()));
        $criterionMock = $this->getMockBuilder('eZ\\Publish\\API\\Repository\\Values\\Content\\Query\\Criterion')->disableOriginalConstructor()->getMock();
        $query = new Query(array('filter' => $criterionMock, 'limit' => 10));
        $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('findContent')->with($this->equalTo($query), $this->equalTo($languageFilter))->will($this->returnValue(new SearchResult(array('searchHits' => array(new SearchHit(array('valueObject' => $spiContentInfo))), 'totalCount' => 1))));
        $domainMapperMock->expects($this->never())->method($this->anything());
        $contentServiceMock->expects($this->once())->method('internalLoadContent')->will($this->returnValue($contentMock));
        $permissionsCriterionHandlerMock->expects($this->once())->method('addPermissionsCriterion')->with($criterionMock)->will($this->returnValue(true));
        $result = $service->findContent($query, $languageFilter, true);
        $this->assertEquals(new SearchResult(array('searchHits' => array(new SearchHit(array('valueObject' => $contentMock))), 'totalCount' => 1)), $result);
    }