/** * {@inheritdoc} */ public function search(SearchCriteria $searchCriteria) { $transactions = []; foreach ($this->transactionRepository->find($searchCriteria) as $transaction) { $transactions[] = $this->transactionMapper->extractDto($transaction, true); } return $this->searchResultsBuilder->setItems($transactions)->setTotalCount(count($transactions))->setSearchCriteria($searchCriteria)->create(); }
public function testFind() { list($id, $collectionIds, $filterData) = [1, [1], ['field', 'value', 'lteq']]; $transactionModelMock = $this->getMockBuilder('Magento\\Sales\\Model\\Order\\Payment\\Transaction')->disableOriginalConstructor()->setMethods([])->getMock(); $transactionModelMock->expects($this->any())->method('getId')->will($this->returnValue($id)); $collection = $this->prepareCollection($transactionModelMock, $collectionIds); $searchCriteriaMock = $this->getMock('Magento\\Framework\\Api\\SearchCriteria', [], [], '', false); $filterGroup = $this->getMock('Magento\\Framework\\Api\\Search\\FilterGroup', [], [], '', false); $filter = $this->getMock('Magento\\Framework\\Api\\Filter', [], [], '', false); $searchCriteriaMock->expects($this->once())->method('getFilterGroups')->will($this->returnValue([$filterGroup])); $filterGroup->expects($this->once())->method('getFilters')->will($this->returnValue([$filter])); $filter->expects($this->once())->method('getField')->will($this->returnValue($filterData[0])); $filter->expects($this->once())->method('getValue')->will($this->returnValue($filterData[1])); $filter->expects($this->any())->method('getConditionType')->will($this->returnValue($filterData[2])); $collection->expects($this->once())->method('addFieldToFilter')->with($filterData[0], [$filterData[2] => $filterData[1]]); $collection->expects($this->once())->method('addPaymentInformation')->with(['method']); $collection->expects($this->once())->method('addOrderInformation')->with(['increment_id']); $this->assertSame([$id => $transactionModelMock], $this->transactionRepository->find($searchCriteriaMock)); }