/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderTransferWithRefundedItem() { $orderTransfer = new OrderTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setRefundableAmount(0); $itemTransfer->setIdSalesOrderItem(1); $orderTransfer->addItem($itemTransfer); $itemTransfer = new ItemTransfer(); $itemTransfer->setRefundableAmount(100); $itemTransfer->setIdSalesOrderItem(2); $orderTransfer->addItem($itemTransfer); $expenseTransfer = new ExpenseTransfer(); $expenseTransfer->setRefundableAmount(10); $orderTransfer->addExpense($expenseTransfer); return $orderTransfer; }
/** * @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)); }