|
3 | 3 | * Copyright © Magento, Inc. All rights reserved.
|
4 | 4 | * See COPYING.txt for license details.
|
5 | 5 | */
|
| 6 | +declare(strict_types=1); |
6 | 7 |
|
7 | 8 | namespace Magento\Sales\Test\Unit\Model\ResourceModel\Order\Shipment;
|
8 | 9 |
|
| 10 | +use Magento\Sales\Model\Order\Shipment; |
| 11 | +use Magento\Sales\Model\Order\Shipment\Comment as CommentEntity; |
| 12 | +use Magento\Sales\Model\Order\Shipment\Item as ItemEntity; |
| 13 | +use Magento\Sales\Model\Order\Shipment\Track as TrackEntity; |
| 14 | +use Magento\Sales\Model\ResourceModel\Order\Shipment\Comment; |
| 15 | +use Magento\Sales\Model\ResourceModel\Order\Shipment\Item; |
| 16 | +use Magento\Sales\Model\ResourceModel\Order\Shipment\Relation; |
| 17 | +use Magento\Sales\Model\ResourceModel\Order\Shipment\Track; |
| 18 | +use PHPUnit\Framework\MockObject\MockObject; |
| 19 | + |
9 | 20 | /**
|
10 | 21 | * Class RelationTest
|
11 | 22 | */
|
12 | 23 | class RelationTest extends \PHPUnit\Framework\TestCase
|
13 | 24 | {
|
14 | 25 | /**
|
15 |
| - * @var \Magento\Sales\Model\ResourceModel\Order\Shipment\Relation |
| 26 | + * @var Relation |
16 | 27 | */
|
17 |
| - protected $relationProcessor; |
| 28 | + private $relationProcessor; |
18 | 29 |
|
19 | 30 | /**
|
20 |
| - * @var \Magento\Sales\Model\ResourceModel\Order\Shipment\Item|\PHPUnit_Framework_MockObject_MockObject |
| 31 | + * @var Item|MockObject |
21 | 32 | */
|
22 |
| - protected $itemResourceMock; |
| 33 | + private $itemResource; |
23 | 34 |
|
24 | 35 | /**
|
25 |
| - * @var \Magento\Sales\Model\ResourceModel\Order\Shipment\Track|\PHPUnit_Framework_MockObject_MockObject |
| 36 | + * @var Track|MockObject |
26 | 37 | */
|
27 |
| - protected $trackResourceMock; |
| 38 | + private $trackResource; |
28 | 39 |
|
29 | 40 | /**
|
30 |
| - * @var \Magento\Sales\Model\ResourceModel\Order\Shipment\Comment|\PHPUnit_Framework_MockObject_MockObject |
| 41 | + * @var Comment|MockObject |
31 | 42 | */
|
32 |
| - protected $commentResourceMock; |
| 43 | + private $commentResource; |
33 | 44 |
|
34 | 45 | /**
|
35 |
| - * @var \Magento\Sales\Model\Order\Shipment\Comment|\PHPUnit_Framework_MockObject_MockObject |
| 46 | + * @var CommentEntity|MockObject |
36 | 47 | */
|
37 |
| - protected $commentMock; |
| 48 | + private $comment; |
38 | 49 |
|
39 | 50 | /**
|
40 |
| - * @var \Magento\Sales\Model\Order\Shipment\Track|\PHPUnit_Framework_MockObject_MockObject |
| 51 | + * @var TrackEntity|MockObject |
41 | 52 | */
|
42 |
| - protected $trackMock; |
| 53 | + private $track; |
43 | 54 |
|
44 | 55 | /**
|
45 |
| - * @var \Magento\Sales\Model\Order\Shipment|\PHPUnit_Framework_MockObject_MockObject |
| 56 | + * @var Shipment|MockObject |
46 | 57 | */
|
47 |
| - protected $shipmentMock; |
| 58 | + private $shipment; |
48 | 59 |
|
49 | 60 | /**
|
50 |
| - * @var \Magento\Sales\Model\Order\Shipment\Item|\PHPUnit_Framework_MockObject_MockObject |
| 61 | + * @var ItemEntity|MockObject |
51 | 62 | */
|
52 |
| - protected $itemMock; |
| 63 | + private $item; |
53 | 64 |
|
54 |
| - protected function setUp() |
| 65 | + /** |
| 66 | + * @inheritdoc |
| 67 | + */ |
| 68 | + protected function setUp(): void |
55 | 69 | {
|
56 |
| - $this->itemResourceMock = $this->getMockBuilder(\Magento\Sales\Model\ResourceModel\Order\Shipment\Item::class) |
| 70 | + $this->itemResource = $this->getMockBuilder(Item::class) |
57 | 71 | ->disableOriginalConstructor()
|
58 |
| - ->setMethods( |
59 |
| - [ |
60 |
| - 'save' |
61 |
| - ] |
62 |
| - ) |
63 | 72 | ->getMock();
|
64 |
| - $this->commentResourceMock = $this->getMockBuilder( |
65 |
| - \Magento\Sales\Model\ResourceModel\Order\Shipment\Comment::class |
66 |
| - ) |
| 73 | + $this->commentResource = $this->getMockBuilder(Comment::class) |
67 | 74 | ->disableOriginalConstructor()
|
68 |
| - ->setMethods( |
69 |
| - [ |
70 |
| - 'save' |
71 |
| - ] |
72 |
| - ) |
73 | 75 | ->getMock();
|
74 |
| - $this->trackResourceMock = $this->getMockBuilder(\Magento\Sales\Model\ResourceModel\Order\Shipment\Track::class) |
| 76 | + $this->trackResource = $this->getMockBuilder(Track::class) |
75 | 77 | ->disableOriginalConstructor()
|
76 |
| - ->setMethods( |
77 |
| - [ |
78 |
| - 'save' |
79 |
| - ] |
80 |
| - ) |
81 | 78 | ->getMock();
|
82 |
| - $this->shipmentMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Shipment::class) |
| 79 | + $this->shipment = $this->getMockBuilder(Shipment::class) |
83 | 80 | ->disableOriginalConstructor()
|
84 |
| - ->setMethods( |
85 |
| - [ |
86 |
| - 'getId', |
87 |
| - 'getItems', |
88 |
| - 'getTracks', |
89 |
| - 'getComments', |
90 |
| - 'getTracksCollection', |
91 |
| - ] |
92 |
| - ) |
93 | 81 | ->getMock();
|
94 |
| - $this->itemMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Item::class) |
| 82 | + $this->item = $this->getMockBuilder(ItemEntity::class) |
95 | 83 | ->disableOriginalConstructor()
|
96 |
| - ->setMethods( |
97 |
| - [ |
98 |
| - 'setParentId' |
99 |
| - ] |
100 |
| - ) |
101 | 84 | ->getMock();
|
102 |
| - $this->trackMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Shipment\Track::class) |
| 85 | + $this->track = $this->getMockBuilder(TrackEntity::class) |
103 | 86 | ->disableOriginalConstructor()
|
104 | 87 | ->getMock();
|
105 |
| - $this->commentMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Shipment::class) |
| 88 | + $this->comment = $this->getMockBuilder(Shipment::class) |
106 | 89 | ->disableOriginalConstructor()
|
107 | 90 | ->getMock();
|
108 |
| - $this->relationProcessor = new \Magento\Sales\Model\ResourceModel\Order\Shipment\Relation( |
109 |
| - $this->itemResourceMock, |
110 |
| - $this->trackResourceMock, |
111 |
| - $this->commentResourceMock |
| 91 | + $this->relationProcessor = new Relation( |
| 92 | + $this->itemResource, |
| 93 | + $this->trackResource, |
| 94 | + $this->commentResource |
112 | 95 | );
|
113 | 96 | }
|
114 | 97 |
|
115 |
| - public function testProcessRelations() |
| 98 | + /** |
| 99 | + * Checks saving shipment relations. |
| 100 | + * |
| 101 | + * @throws \Exception |
| 102 | + */ |
| 103 | + public function testProcessRelations(): void |
116 | 104 | {
|
117 |
| - $this->shipmentMock->expects($this->exactly(3)) |
118 |
| - ->method('getId') |
| 105 | + $this->shipment->method('getId') |
119 | 106 | ->willReturn('shipment-id-value');
|
120 |
| - $this->shipmentMock->expects($this->exactly(2)) |
121 |
| - ->method('getItems') |
122 |
| - ->willReturn([$this->itemMock]); |
123 |
| - $this->shipmentMock->expects($this->exactly(2)) |
124 |
| - ->method('getComments') |
125 |
| - ->willReturn([$this->commentMock]); |
126 |
| - $this->shipmentMock->expects($this->exactly(2)) |
127 |
| - ->method('getTracksCollection') |
128 |
| - ->willReturn([$this->trackMock]); |
129 |
| - $this->itemMock->expects($this->once()) |
130 |
| - ->method('setParentId') |
| 107 | + $this->shipment->method('getItems') |
| 108 | + ->willReturn([$this->item]); |
| 109 | + $this->shipment->method('getComments') |
| 110 | + ->willReturn([$this->comment]); |
| 111 | + $this->shipment->method('getTracks') |
| 112 | + ->willReturn([$this->track]); |
| 113 | + $this->item->method('setParentId') |
131 | 114 | ->with('shipment-id-value')
|
132 | 115 | ->willReturnSelf();
|
133 |
| - $this->itemResourceMock->expects($this->once()) |
134 |
| - ->method('save') |
135 |
| - ->with($this->itemMock) |
| 116 | + $this->itemResource->method('save') |
| 117 | + ->with($this->item) |
136 | 118 | ->willReturnSelf();
|
137 |
| - $this->commentResourceMock->expects($this->once()) |
138 |
| - ->method('save') |
139 |
| - ->with($this->commentMock) |
| 119 | + $this->commentResource->method('save') |
| 120 | + ->with($this->comment) |
140 | 121 | ->willReturnSelf();
|
141 |
| - $this->trackResourceMock->expects($this->once()) |
142 |
| - ->method('save') |
143 |
| - ->with($this->trackMock) |
| 122 | + $this->trackResource->method('save') |
| 123 | + ->with($this->track) |
144 | 124 | ->willReturnSelf();
|
145 |
| - $this->relationProcessor->processRelation($this->shipmentMock); |
| 125 | + $this->relationProcessor->processRelation($this->shipment); |
146 | 126 | }
|
147 | 127 | }
|
0 commit comments