diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/DiscountTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/DiscountTest.php index 4c52a6626af3cebf25e6033ad1645196a7f6f02c..660fec3b44f5bb5b01faa2762b077a0b0707d010 100644 --- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/DiscountTest.php +++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/DiscountTest.php @@ -7,7 +7,7 @@ namespace Magento\Sales\Model\Order\Creditmemo\Total; /** - * Class CostTest + * Class DiscountTest */ class DiscountTest extends \PHPUnit_Framework_TestCase { diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/SubtotalTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/SubtotalTest.php new file mode 100644 index 0000000000000000000000000000000000000000..1cfa0bb6b04a63073c15be91e5f53d532600f442 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Creditmemo/Total/SubtotalTest.php @@ -0,0 +1,119 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Sales\Model\Order\Creditmemo\Total; + +/** + * Class SubtotalTest + */ +class SubtotalTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Sales\Model\Order\Creditmemo\Total\Subtotal + */ + protected $total; + /** + * @var \Magento\Sales\Model\Order\Creditmemo|\PHPUnit_Framework_MockObject_MockObject + */ + protected $creditmemoMock; + /** + * @var \Magento\Sales\Model\Order\Creditmemo\Item|\PHPUnit_Framework_MockObject_MockObject + */ + protected $creditmemoItemMock; + /** + * @var \Magento\Sales\Model\Order\Item|\PHPUnit_Framework_MockObject_MockObject + */ + protected $orderItemMock; + + public function setUp() + { + $this->orderMock = $this->getMock('Magento\Sales\Model\Order', [ + 'getBaseShippingDiscountAmount', 'getBaseShippingAmount', 'getShippingAmount' + ], [], '', false); + $this->orderItemMock = $this->getMock('Magento\Sales\Model\Order', + [ + 'isDummy', 'getDiscountInvoiced', 'getBaseDiscountInvoiced', 'getQtyInvoiced', 'getQty', + 'getDiscountRefunded', 'getQtyRefunded' + ], [], '', false); + $this->creditmemoMock = $this->getMock('\Magento\Sales\Model\Order\Creditmemo', [ + 'setBaseCost', 'getAllItems', 'getOrder', 'getBaseShippingAmount', 'roundPrice', 'setDiscountAmount', + 'setBaseDiscountAmount', 'setSubtotal', 'setBaseSubtotal', 'setSubtotalInclTax', 'setBaseSubtotalInclTax', + 'getGrandTotal', 'setGrandTotal', 'getBaseGrandTotal', 'setBaseGrandTotal' + ], [], '', false); + $this->creditmemoItemMock = $this->getMock( + '\Magento\Sales\Model\Order\Creditmemo\Item', + [ + 'getHasChildren', 'getBaseCost', 'getQty', 'getOrderItem', 'setDiscountAmount', + 'setBaseDiscountAmount', 'isLast', 'getRowTotalInclTax', 'getBaseRowTotalInclTax', + 'getRowTotal', 'getBaseRowTotal', 'calcRowTotal' + ], + [], + '', + false + ); + $this->total = new \Magento\Sales\Model\Order\Creditmemo\Total\Subtotal(); + } + + public function testCollect() + { + $this->creditmemoMock->expects($this->once()) + ->method('getAllItems') + ->willReturn([$this->creditmemoItemMock]); + $this->creditmemoItemMock->expects($this->atLeastOnce()) + ->method('getOrderItem') + ->willReturn($this->orderItemMock); + $this->orderItemMock->expects($this->once()) + ->method('isDummy') + ->willReturn(false); + $this->creditmemoItemMock->expects($this->once()) + ->method('calcRowTotal') + ->willReturnSelf(); + $this->creditmemoItemMock->expects($this->once()) + ->method('getRowTotal') + ->willReturn(1); + $this->creditmemoItemMock->expects($this->once()) + ->method('getBaseRowTotal') + ->willReturn(1); + $this->creditmemoItemMock->expects($this->once()) + ->method('getRowTotalInclTax') + ->willReturn(1); + $this->creditmemoItemMock->expects($this->once()) + ->method('getBaseRowTotalInclTax') + ->willReturn(1); + + $this->creditmemoMock->expects($this->once()) + ->method('setSubtotal') + ->with(1) + ->willReturnSelf(); + $this->creditmemoMock->expects($this->once()) + ->method('setBaseSubtotal') + ->with(1) + ->willReturnSelf(); + $this->creditmemoMock->expects($this->once()) + ->method('setSubtotalInclTax') + ->with(1) + ->willReturnSelf(); + $this->creditmemoMock->expects($this->once()) + ->method('setBaseSubtotalInclTax') + ->with(1) + ->willReturnSelf(); + $this->creditmemoMock->expects($this->once()) + ->method('getGrandTotal') + ->willReturn(1); + $this->creditmemoMock->expects($this->once()) + ->method('setGrandTotal') + ->with(2) + ->willReturnSelf(); + $this->creditmemoMock->expects($this->once()) + ->method('getBaseGrandTotal') + ->willReturn(1); + $this->creditmemoMock->expects($this->once()) + ->method('setBaseGrandTotal') + ->with(2) + ->willReturnSelf(); + $this->assertEquals($this->total, $this->total->collect($this->creditmemoMock)); + } +}