/** * Invoke CreditmemoList service * * @param \Magento\Framework\Service\V1\Data\SearchCriteria $searchCriteria * @return \Magento\Framework\Service\V1\Data\SearchResults */ public function invoke(SearchCriteria $searchCriteria) { $creditmemos = []; foreach ($this->creditmemoRepository->find($searchCriteria) as $creditmemo) { $creditmemos[] = $this->creditmemoMapper->extractDto($creditmemo); } return $this->searchResultsBuilder->setItems($creditmemos)->setTotalCount(count($creditmemos))->setSearchCriteria($searchCriteria)->create(); }
/** * Test creditmemo list service * * @return void */ public function testCreditmemo() { $this->creditmemoRepositoryMock->expects($this->once())->method('find')->with($this->equalTo($this->searchCriteriaMock))->will($this->returnValue([$this->creditmemoMock])); $this->creditmemoMapperMock->expects($this->once())->method('extractDto')->with($this->equalTo($this->creditmemoMock))->will($this->returnValue($this->dataObjectMock)); $this->searchResultsBuilderMock->expects($this->once())->method('setItems')->with($this->equalTo([$this->dataObjectMock]))->will($this->returnSelf()); $this->searchResultsBuilderMock->expects($this->once())->method('setTotalCount')->with($this->equalTo(count($this->creditmemoMock)))->will($this->returnSelf()); $this->searchResultsBuilderMock->expects($this->once())->method('setSearchCriteria')->with($this->equalTo($this->searchCriteriaMock))->will($this->returnSelf()); $this->searchResultsBuilderMock->expects($this->once())->method('create')->will($this->returnValue('expected-result')); $this->assertEquals('expected-result', $this->creditmemoList->invoke($this->searchCriteriaMock)); }