/** * @return void */ public function testSaveRefundShouldSetCanceledAmountOnOrderExpenseEntities() { $salesExpenseEntityMock = $this->getSalesExpenseEntityMock(); $salesExpenseQueryMock = $this->getMockBuilder(SpySalesExpenseQuery::class)->setMethods(['findOneByIdSalesExpense'])->getMock(); $salesExpenseQueryMock->method('findOneByIdSalesExpense')->willReturn($salesExpenseEntityMock); $salesQueryContainerMock = $this->getSalesQueryContainerMock(); $salesQueryContainerMock->method('querySalesExpense')->willReturn($salesExpenseQueryMock); $refundEntity = $this->getRefundEntity(0); $refundSaver = $this->getRefundSaverMock($refundEntity, $salesQueryContainerMock); $refundTransfer = new RefundTransfer(); $refundTransfer->setAmount(100); $expenseTransfer = new ExpenseTransfer(); $expenseTransfer->setRefundableAmount(100); $refundTransfer->addExpense($expenseTransfer); $this->assertTrue($refundSaver->saveRefund($refundTransfer)); }