8 use \Magento\Tax\Model\Calculation\CalculatorFactory;
40 public function testCreate(
49 $instanceMock = $this->getMockBuilder($expectedInstanceType)->disableOriginalConstructor()->getMock();
50 $objectManagerMock = $this->createMock(\
Magento\Framework\ObjectManagerInterface::class);
53 $objectManagerMock->expects($this->once())
55 ->with($expectedInstanceType, [
'storeId' =>
$storeId])
56 ->will($this->returnValue($instanceMock));
59 $calculatorFactory = $this->objectManager->getObject(
60 \
Magento\Tax\Model\Calculation\CalculatorFactory::class,
61 [
'objectManager' => $objectManagerMock]
66 $instanceMock->expects($this->once())
67 ->method(
'setBillingAddress')
70 $instanceMock->expects($this->never())
71 ->method(
'setBillingAddress');
76 $instanceMock->expects($this->once())
77 ->method(
'setShippingAddress')
80 $instanceMock->expects($this->never())
81 ->method(
'setShippingAddress');
85 if ($customerTaxClassId !=
null) {
86 $instanceMock->expects($this->once())
87 ->method(
'setCustomerTaxClassId')
88 ->with($customerTaxClassId);
90 $instanceMock->expects($this->never())
91 ->method(
'setCustomerTaxClassId');
96 $instanceMock->expects($this->once())
97 ->method(
'setCustomerId')
100 $instanceMock->expects($this->never())
101 ->method(
'setCustomerId');
105 $calculator = $calculatorFactory
109 $this->assertInstanceOf($expectedInstanceType, $calculator);
119 $billingAddressMock = $this->getMockBuilder(\
Magento\Customer\Api\Data\AddressInterface::class)
120 ->disableOriginalConstructor()
121 ->getMockForAbstractClass();
122 $shippingAddressMock = $this->getMockBuilder(\
Magento\Customer\Api\Data\AddressInterface::class)
123 ->disableOriginalConstructor()
124 ->getMockForAbstractClass();
133 null, \Magento\Tax\Model\Calculation\UnitBaseCalculator::class,
135 'Row HasBilling' => [
141 null, \Magento\Tax\Model\Calculation\RowBaseCalculator::class,
143 'Row HasCustomerTaxClassId' => [
149 null, \Magento\Tax\Model\Calculation\RowBaseCalculator::class,
151 'Total HasShipping' => [
155 $shippingAddressMock,
157 null, \Magento\Tax\Model\Calculation\TotalBaseCalculator::class,
159 'Total HasShipping HasBilling HasCustomerTaxClassId' => [
163 $shippingAddressMock,
165 null, \Magento\Tax\Model\Calculation\TotalBaseCalculator::class,
167 'Total HasShipping HasBilling HasCustomerTaxClassId, HasCustomer' => [
171 $shippingAddressMock,
173 1, \Magento\Tax\Model\Calculation\TotalBaseCalculator::class,
182 public function testCreateInvalid()
185 $calculatorFactory = $this->objectManager->getObject(
186 \
Magento\Tax\Model\Calculation\CalculatorFactory::class
190 $calculatorFactory->create(
'NOT_A_TYPE', 1);