Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
OrderAdapterTest.php
Go to the documentation of this file.
1 <?php
7 
11 
15 class OrderAdapterTest extends \PHPUnit\Framework\TestCase
16 {
18  protected $model;
19 
23  protected $orderMock;
24 
29 
30  protected function setUp()
31  {
32  $this->orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
33  ->disableOriginalConstructor()
34  ->getMock();
35 
36  $this->addressAdapterFactoryMock =
37  $this->getMockBuilder(\Magento\Payment\Gateway\Data\Order\AddressAdapterFactory::class)
38  ->setMethods(['create'])
39  ->disableOriginalConstructor()
40  ->getMock();
41 
42  $this->model = new OrderAdapter($this->orderMock, $this->addressAdapterFactoryMock);
43  }
44 
45  public function testGetCurrencyCode()
46  {
47  $expected = 'USD';
48  $this->orderMock->expects($this->once())->method('getBaseCurrencyCode')->willReturn($expected);
49  $this->assertEquals($expected, $this->model->getCurrencyCode());
50  }
51 
52  public function testGetOrderIncrementId()
53  {
54  $expected = '1';
55  $this->orderMock->expects($this->once())->method('getIncrementId')->willReturn($expected);
56  $this->assertEquals($expected, $this->model->getOrderIncrementId());
57  }
58 
59  public function testGetCustomerId()
60  {
61  $expected = 1;
62  $this->orderMock->expects($this->once())->method('getCustomerId')->willReturn($expected);
63  $this->assertEquals($expected, $this->model->getCustomerId());
64  }
65 
66  public function testGetBillingAddressIsNull()
67  {
68  $this->orderMock->expects($this->once())->method('getBillingAddress')->willReturn(null);
69 
70  $this->assertSame(null, $this->model->getBillingAddress());
71  }
72 
73  public function testGetBillingAddress()
74  {
76  $addressAdapterMock = $this->getMockBuilder(\Magento\Payment\Gateway\Data\AddressAdapterInterface::class)
77  ->getMockForAbstractClass();
79  $orderAddressMock = $this->getMockBuilder(\Magento\Sales\Api\Data\OrderAddressInterface::class)
80  ->getMockForAbstractClass();
81  $this->addressAdapterFactoryMock->expects($this->once())
82  ->method('create')
83  ->with(['address' => $orderAddressMock])
84  ->willReturn($addressAdapterMock);
85  $this->orderMock->expects($this->exactly(2))->method('getBillingAddress')->willReturn($orderAddressMock);
86 
87  $this->assertSame($addressAdapterMock, $this->model->getBillingAddress());
88  }
89 
90  public function testGetShippingAddressIsNull()
91  {
92  $this->orderMock->expects($this->once())->method('getShippingAddress')->willReturn(null);
93 
94  $this->assertSame(null, $this->model->getShippingAddress());
95  }
96 
97  public function testGetShippingAddress()
98  {
100  $addressAdapterMock = $this->getMockBuilder(\Magento\Payment\Gateway\Data\AddressAdapterInterface::class)
101  ->getMockForAbstractClass();
103  $orderAddressMock = $this->getMockBuilder(\Magento\Sales\Api\Data\OrderAddressInterface::class)
104  ->getMockForAbstractClass();
105  $this->addressAdapterFactoryMock->expects($this->once())
106  ->method('create')
107  ->with(['address' => $orderAddressMock])
108  ->willReturn($addressAdapterMock);
109  $this->orderMock->expects($this->exactly(2))->method('getShippingAddress')->willReturn($orderAddressMock);
110 
111  $this->assertSame($addressAdapterMock, $this->model->getShippingAddress());
112  }
113 }