Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ToOrderAddressTest.php
Go to the documentation of this file.
1 <?php
7 
9 
13 class ToOrderAddressTest extends \PHPUnit\Framework\TestCase
14 {
18  protected $objectCopyMock;
19 
24 
29 
33  protected $converter;
34 
38  protected $dataObjectHelper;
39 
40  protected function setUp()
41  {
42  $this->orderAddressRepositoryMock = $this->createPartialMock(
43  \Magento\Sales\Model\Order\AddressRepository::class,
44  ['create']
45  );
46  $this->objectCopyMock = $this->createMock(\Magento\Framework\DataObject\Copy::class);
47  $this->orderInterfaceMock = $this->createMock(\Magento\Sales\Api\Data\OrderAddressInterface::class);
48  $this->dataObjectHelper = $this->createMock(\Magento\Framework\Api\DataObjectHelper::class);
49  $objectManager = new ObjectManager($this);
50  $this->converter = $objectManager->getObject(
51  \Magento\Quote\Model\Quote\Address\ToOrderAddress::class,
52  [
53  'orderAddressRepository' => $this->orderAddressRepositoryMock,
54  'objectCopyService' => $this->objectCopyMock,
55  'dataObjectHelper' => $this->dataObjectHelper
56  ]
57  );
58  }
59 
60  public function testConvert()
61  {
62  $orderData = ['test' => 'test1'];
63  $data = ['test' => 'beer'];
67  $object = $this->createMock(\Magento\Quote\Model\Quote\Address::class);
68  $this->objectCopyMock->expects($this->once())->method('getDataFromFieldset')->with(
69  'sales_convert_quote_address',
70  'to_order_address',
71  $object
72  )->willReturn($orderData);
73  $this->dataObjectHelper->expects($this->once())->method('populateWithArray')
74  ->with($this->orderInterfaceMock, ['test' => 'beer'], \Magento\Sales\Api\Data\OrderAddressInterface::class)
75  ->willReturnSelf();
76  $this->orderAddressRepositoryMock->expects($this->once())
77  ->method('create')
78  ->willReturn($this->orderInterfaceMock);
79  $this->assertSame($this->orderInterfaceMock, $this->converter->convert($object, $data));
80  }
81 }
$objectManager
Definition: bootstrap.php:17