/** * Run test getList method * * @return void */ public function testGetList() { $criteriaMock = $this->getMock('Magento\\Cms\\Model\\Resource\\PageCriteria', [], [], '', false); $queryBuilderMock = $this->getMock('Magento\\Framework\\DB\\QueryBuilder', ['setCriteria', 'setResource', 'create'], [], '', false); $queryMock = $this->getMockForAbstractClass('Magento\\Framework\\DB\\QueryInterface', [], '', false); $collectionMock = $this->getMock('Magento\\Cms\\Model\\Resource\\Page\\Collection', [], [], '', false); $this->queryBuilderFactoryMock->expects($this->once())->method('create')->will($this->returnValue($queryBuilderMock)); $queryBuilderMock->expects($this->once())->method('setCriteria')->with($criteriaMock); $queryBuilderMock->expects($this->once())->method('setResource')->with($this->resourceMock); $queryBuilderMock->expects($this->once())->method('create')->will($this->returnValue($queryMock)); $this->pageCollectionFactoryMock->expects($this->once())->method('create')->with(['query' => $queryMock])->will($this->returnValue($collectionMock)); $this->assertEquals($collectionMock, $this->pageRepository->getList($criteriaMock)); }
/** * @test */ public function testGetList() { $field = 'name'; $value = 'magento'; $condition = 'eq'; $total = 10; $currentPage = 3; $pageSize = 2; $sortField = 'id'; $criteria = $this->getMockBuilder('Magento\\Framework\\Api\\SearchCriteriaInterface')->getMock(); $filterGroup = $this->getMockBuilder('Magento\\Framework\\Api\\Search\\FilterGroup')->getMock(); $filter = $this->getMockBuilder('Magento\\Framework\\Api\\Filter')->getMock(); $storeFilter = $this->getMockBuilder('Magento\\Framework\\Api\\Filter')->getMock(); $sortOrder = $this->getMockBuilder('Magento\\Framework\\Api\\SortOrder')->getMock(); $criteria->expects($this->once())->method('getFilterGroups')->willReturn([$filterGroup]); $criteria->expects($this->once())->method('getSortOrders')->willReturn([$sortOrder]); $criteria->expects($this->once())->method('getCurrentPage')->willReturn($currentPage); $criteria->expects($this->once())->method('getPageSize')->willReturn($pageSize); $filterGroup->expects($this->once())->method('getFilters')->willReturn([$storeFilter, $filter]); $filter->expects($this->once())->method('getConditionType')->willReturn($condition); $filter->expects($this->any())->method('getField')->willReturn($field); $filter->expects($this->once())->method('getValue')->willReturn($value); $storeFilter->expects($this->any())->method('getField')->willReturn('store_id'); $storeFilter->expects($this->once())->method('getValue')->willReturn(1); $sortOrder->expects($this->once())->method('getField')->willReturn($sortField); $sortOrder->expects($this->once())->method('getDirection')->willReturn(SortOrder::SORT_DESC); /** @var \Magento\Framework\Api\SearchCriteriaInterface $criteria */ $this->collection->addItem($this->page); $this->pageSearchResult->expects($this->once())->method('setSearchCriteria')->with($criteria)->willReturnSelf(); $this->collection->expects($this->once())->method('addFieldToFilter')->with($field, [$condition => $value])->willReturnSelf(); $this->pageSearchResult->expects($this->once())->method('setTotalCount')->with($total)->willReturnSelf(); $this->collection->expects($this->once())->method('getSize')->willReturn($total); $this->collection->expects($this->once())->method('setCurPage')->with($currentPage)->willReturnSelf(); $this->collection->expects($this->once())->method('setPageSize')->with($pageSize)->willReturnSelf(); $this->collection->expects($this->once())->method('addOrder')->with($sortField, 'DESC')->willReturnSelf(); $this->page->expects($this->once())->method('getData')->willReturn(['data']); $this->pageSearchResult->expects($this->once())->method('setItems')->with(['someData'])->willReturnSelf(); $this->dataHelper->expects($this->once())->method('populateWithArray')->with($this->pageData, ['data'], 'Magento\\Cms\\Api\\Data\\PageInterface'); $this->dataObjectProcessor->expects($this->once())->method('buildOutputDataArray')->with($this->pageData, 'Magento\\Cms\\Api\\Data\\PageInterface')->willReturn('someData'); $this->assertEquals($this->pageSearchResult, $this->repository->getList($criteria)); }
/** * @return \Magento\Cms\Model\Resource\Page\Collection */ public function getResultCollection() { return $this->repository->getList($this); }