Skip to content

Commit 0b6b7bc

Browse files
author
Mike Weis
committed
MAGETWO-33664: Refactor Sales module to use mutable data object interfaces
- updated per code review comments
1 parent e6ffb4d commit 0b6b7bc

File tree

4 files changed

+40
-25
lines changed

4 files changed

+40
-25
lines changed

app/code/Magento/Quote/Model/Quote/Address/ToOrderAddress.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ public function convert(Address $object, $data = [])
5959
$object
6060
);
6161

62-
$order = $this->orderAddressFactory->create();
62+
$orderAddress = $this->orderAddressFactory->create();
6363
$this->dataObjectHelper->populateWithArray(
64-
$order,
64+
$orderAddress,
6565
array_merge($orderAddressData, $data),
6666
'\Magento\Sales\Api\Data\OrderAddressInterface'
6767
);
6868

69-
return $order;
69+
return $orderAddress;
7070
}
7171
}

dev/tests/unit/testsuite/Magento/Quote/Model/Quote/Address/ToOrderAddressTest.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,30 @@ class ToOrderAddressTest extends \PHPUnit_Framework_TestCase
3232
*/
3333
protected $converter;
3434

35+
/**
36+
* @var \Magento\Framework\Api\DataObjectHelper
37+
*/
38+
protected $dataObjectHelper;
39+
3540
protected function setUp()
3641
{
3742
$this->orderAddressFactoryMock = $this->getMock(
3843
'Magento\Sales\Api\Data\OrderAddressInterfaceFactory',
39-
['populateWithArray', 'create'],
44+
['create'],
4045
[],
4146
'',
4247
false
4348
);
4449
$this->objectCopyMock = $this->getMock('Magento\Framework\Object\Copy', [], [], '', false);
45-
$this->orderInterfaceMock = $this->getMock('Magento\Sales\Api\Data\OrderInterface', [], [], '', false);
46-
$dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
50+
$this->orderInterfaceMock = $this->getMock('Magento\Sales\Api\Data\OrderAddressInterface', [], [], '', false);
51+
$this->dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
4752
$objectManager = new ObjectManager($this);
4853
$this->converter = $objectManager->getObject(
4954
'Magento\Quote\Model\Quote\Address\ToOrderAddress',
5055
[
5156
'orderAddressFactory' => $this->orderAddressFactoryMock,
5257
'objectCopyService' => $this->objectCopyMock,
53-
'dataObjectHelper' => $dataObjectHelper
58+
'dataObjectHelper' => $this->dataObjectHelper
5459
]
5560
);
5661
}
@@ -68,8 +73,8 @@ public function testConvert()
6873
'to_order_address',
6974
$object
7075
)->willReturn($orderData);
71-
$this->orderAddressFactoryMock->expects($this->never())->method('populateWithArray')
72-
->with(['test' => 'beer'])
76+
$this->dataObjectHelper->expects($this->once())->method('populateWithArray')
77+
->with($this->orderInterfaceMock, ['test' => 'beer'], '\Magento\Sales\Api\Data\OrderAddressInterface')
7378
->willReturnSelf();
7479
$this->orderAddressFactoryMock->expects($this->once())
7580
->method('create')

dev/tests/unit/testsuite/Magento/Quote/Model/Quote/Address/ToOrderTest.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ class ToOrderTest extends \PHPUnit_Framework_TestCase
3737
*/
3838
protected $eventManagerMock;
3939

40+
/**
41+
* @var \Magento\Framework\Api\DataObjectHelper
42+
*/
43+
protected $dataObjectHelper;
44+
4045
protected function setUp()
4146
{
4247
$this->orderDataFactoryMock = $this->getMock(
@@ -57,15 +62,15 @@ protected function setUp()
5762
['setStoreId', 'setQuoteId']
5863
);
5964
$this->eventManagerMock = $this->getMock('Magento\Framework\Event\ManagerInterface', [], [], '', false);
60-
$dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
65+
$this->dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
6166
$objectManager = new ObjectManager($this);
6267
$this->converter = $objectManager->getObject(
6368
'Magento\Quote\Model\Quote\Address\ToOrder',
6469
[
6570
'orderFactory' => $this->orderDataFactoryMock,
6671
'objectCopyService' => $this->objectCopyMock,
6772
'eventManager' => $this->eventManagerMock,
68-
'dataObjectHelper' => $dataObjectHelper
73+
'dataObjectHelper' => $this->dataObjectHelper
6974
]
7075
);
7176
}
@@ -87,8 +92,8 @@ public function testConvert()
8792
'to_order',
8893
$object
8994
)->willReturn($orderData);
90-
$this->orderDataFactoryMock->expects($this->never())->method('populateWithArray')
91-
->with(['test' => 'beer'])
95+
$this->dataObjectHelper->expects($this->once())->method('populateWithArray')
96+
->with($this->orderInterfaceMock, ['test' => 'beer'], '\Magento\Sales\Api\Data\OrderInterface')
9297
->willReturnSelf();
9398
$this->orderInterfaceMock->expects($this->once())->method('setStoreId')->with($storeId)->willReturnSelf();
9499
$this->orderInterfaceMock->expects($this->once())->method('setQuoteId')->with($quoteId)->willReturnSelf();

dev/tests/unit/testsuite/Magento/Quote/Model/Quote/Payment/ToOrderPaymentTest.php

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class ToOrderPaymentTest extends \PHPUnit_Framework_TestCase
2929
*/
3030
protected $paymentMock;
3131

32+
/**
33+
* @var \Magento\Framework\Api\DataObjectHelper
34+
*/
35+
protected $dataObjectHelper;
36+
3237
/**
3338
* @var \Magento\Quote\Model\Quote\Payment\ToOrderPayment
3439
*/
@@ -38,27 +43,27 @@ public function setUp()
3843
{
3944
$this->paymentMock = $this->getMock(
4045
'Magento\Quote\Model\Quote\Payment',
41-
['getCcNumber', 'getCcCidEnc', 'getMethodInstance', 'getAdditionalInformation'],
46+
['getCcNumber', 'getCcCid', 'getMethodInstance', 'getAdditionalInformation'],
4247
[],
4348
'',
4449
false
4550
);
4651
$this->objectCopyMock = $this->getMock('Magento\Framework\Object\Copy', [], [], '', false);
4752
$this->orderPaymentFactoryMock = $this->getMock(
4853
'Magento\Sales\Api\Data\OrderPaymentInterfaceFactory',
49-
['populateWithArray', 'create'],
54+
['create'],
5055
[],
5156
'',
5257
false
5358
);
54-
$dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
59+
$this->dataObjectHelper = $this->getMock('\Magento\Framework\Api\DataObjectHelper', [], [], '', false);
5560
$objectManager = new ObjectManager($this);
5661
$this->converter = $objectManager->getObject(
5762
'Magento\Quote\Model\Quote\Payment\ToOrderPayment',
5863
[
5964
'orderPaymentFactory' => $this->orderPaymentFactoryMock,
6065
'objectCopyService' => $this->objectCopyMock,
61-
'dataObjectHelper' => $dataObjectHelper
66+
'dataObjectHelper' => $this->dataObjectHelper
6267
]
6368
);
6469
}
@@ -82,20 +87,16 @@ public function testConvert()
8287
'to_order_payment',
8388
$this->paymentMock
8489
)->willReturn($paymentData);
85-
$this->orderPaymentFactoryMock->expects($this->never())
86-
->method('populateWithArray')
87-
->with(array_merge($paymentData, $data))
88-
->willReturnSelf();
8990

9091
$this->paymentMock->expects($this->once())
9192
->method('getAdditionalInformation')
9293
->willReturn($additionalInfo);
9394
$ccNumber = 123456798;
9495
$ccCid = 1234;
95-
$this->paymentMock->expects($this->any())
96+
$this->paymentMock->expects($this->once())
9697
->method('getCcNumber')
9798
->willReturn($ccNumber);
98-
$this->paymentMock->expects($this->any())
99+
$this->paymentMock->expects($this->once())
99100
->method('getCcCid')
100101
->willReturn($ccCid);
101102

@@ -112,14 +113,18 @@ public function testConvert()
112113
->method('setAdditionalInformation')
113114
->with(serialize(array_merge($additionalInfo, [Substitution::INFO_KEY_TITLE => $paymentMethodTitle])))
114115
->willReturnSelf();
115-
$orderPayment->expects($this->any())
116+
$orderPayment->expects($this->once())
116117
->method('setCcNumber')
117118
->willReturnSelf();
118-
$orderPayment->expects($this->any())
119+
$orderPayment->expects($this->once())
119120
->method('setCcCid')
120121
->willReturnSelf();
121122

122123
$this->orderPaymentFactoryMock->expects($this->once())->method('create')->willReturn($orderPayment);
124+
$this->dataObjectHelper->expects($this->once())
125+
->method('populateWithArray')
126+
->with($orderPayment, array_merge($paymentData, $data), '\Magento\Sales\Api\Data\OrderPaymentInterface')
127+
->willReturnSelf();
123128

124129
$this->assertSame($orderPayment, $this->converter->convert($this->paymentMock, $data));
125130
}

0 commit comments

Comments
 (0)