12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Quote\Test\Unit\Model\Quote\Address;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- /**
- * Tests Address convert to order address
- */
- class ToOrderTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\DataObject\Copy | \PHPUnit_Framework_MockObject_MockObject
- */
- protected $objectCopyMock;
- /**
- * @var \Magento\Sales\Api\Data\OrderInterfaceFactory | \PHPUnit_Framework_MockObject_MockObject
- */
- protected $orderDataFactoryMock;
- /**
- * @var \Magento\Sales\Api\Data\OrderInterface | \PHPUnit_Framework_MockObject_MockObject
- */
- protected $orderMock;
- /**
- * @var \Magento\Quote\Model\Quote\Address\ToOrder
- */
- protected $converter;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $eventManagerMock;
- /**
- * @var \Magento\Framework\Api\DataObjectHelper
- */
- protected $dataObjectHelper;
- protected function setUp()
- {
- $this->orderDataFactoryMock = $this->createPartialMock(
- \Magento\Sales\Api\Data\OrderInterfaceFactory::class,
- ['create']
- );
- $this->objectCopyMock = $this->createMock(\Magento\Framework\DataObject\Copy::class);
- $this->orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->eventManagerMock = $this->createMock(\Magento\Framework\Event\ManagerInterface::class);
- $this->dataObjectHelper = $this->createMock(\Magento\Framework\Api\DataObjectHelper::class);
- $objectManager = new ObjectManager($this);
- $this->converter = $objectManager->getObject(
- \Magento\Quote\Model\Quote\Address\ToOrder::class,
- [
- 'orderFactory' => $this->orderDataFactoryMock,
- 'objectCopyService' => $this->objectCopyMock,
- 'eventManager' => $this->eventManagerMock,
- 'dataObjectHelper' => $this->dataObjectHelper
- ]
- );
- }
- public function testConvert()
- {
- $orderData = ['test' => 'test1'];
- $data = ['test' => 'beer'];
- $quoteId = 1;
- $storeId = 777;
- $object = $this->createMock(\Magento\Quote\Model\Quote\Address::class);
- $quote = $this->createMock(\Magento\Quote\Model\Quote::class);
- $object->expects($this->exactly(5))->method('getQuote')->willReturn($quote);
- $quote->expects($this->once())->method('getId')->willReturn($quoteId);
- $quote->expects($this->once())->method('getStoreId')->willReturn($storeId);
- $this->objectCopyMock->expects($this->once())->method('getDataFromFieldset')->with(
- 'sales_convert_quote_address',
- 'to_order',
- $object
- )->willReturn($orderData);
- $this->dataObjectHelper->expects($this->once())->method('populateWithArray')
- ->with($this->orderMock, ['test' => 'beer'], \Magento\Sales\Api\Data\OrderInterface::class)
- ->willReturnSelf();
- $this->orderMock->expects($this->once())->method('setStoreId')->with($storeId)->willReturnSelf();
- $this->orderMock->expects($this->once())->method('setQuoteId')->with($quoteId)->willReturnSelf();
- $this->orderDataFactoryMock->expects($this->once())->method('create')->willReturn($this->orderMock);
- $this->eventManagerMock->expects($this->once())
- ->method('dispatch')
- ->with('sales_convert_quote_to_order', ['order' => $this->orderMock, 'quote' => $quote]);
- $this->assertSame($this->orderMock, $this->converter->convert($object, $data));
- }
- }
|