Skip to content

Commit 9f6fcbb

Browse files
committed
Improved code readability
1 parent 0671b7f commit 9f6fcbb

File tree

1 file changed

+62
-29
lines changed

1 file changed

+62
-29
lines changed

app/code/Magento/Fedex/Test/Unit/Plugin/Block/Tracking/PopupDeliveryDateTest.php

Lines changed: 62 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,36 @@
2121
*/
2222
class PopupDeliveryDateTest extends TestCase
2323
{
24+
const STUB_CARRIER_CODE_NOT_FEDEX = 'not-fedex';
25+
const STUB_DELIVERY_DATE = '2020-02-02';
26+
const STUB_DELIVERY_TIME = '12:00';
27+
2428
/**
2529
* @var MockObject|PopupDeliveryDate
2630
*/
2731
private $plugin;
2832

33+
/**
34+
* @var MockObject|Status $trackingStatusMock
35+
*/
36+
private $trackingStatusMock;
37+
38+
/**
39+
* @var MockObject|Popup $subjectMock
40+
*/
41+
private $subjectMock;
42+
2943
/**
3044
* @inheritDoc
3145
*/
3246
protected function setUp()
3347
{
48+
$this->trackingStatusMock = $this->getStatusMock();
49+
$this->subjectMock = $this->getPopupMock();
50+
$this->subjectMock->expects($this->once())
51+
->method('getTrackingInfo')
52+
->willReturn([[$this->trackingStatusMock]]);
53+
3454
$objectManagerHelper = new ObjectManager($this);
3555
$this->plugin = $objectManagerHelper->getObject(PopupDeliveryDate::class);
3656
}
@@ -40,54 +60,67 @@ protected function setUp()
4060
*/
4161
public function testAfterFormatDeliveryDateTimeWithFedexCarrier()
4262
{
43-
/** @var Status|MockObject $trackingStatusMock */
44-
$trackingStatusMock = $this->getMockBuilder(Status::class)
45-
->disableOriginalConstructor()
46-
->setMethods(['getCarrier'])
47-
->getMock();
48-
$trackingStatusMock->expects($this::once())
63+
$this->trackingStatusMock->expects($this::once())
4964
->method('getCarrier')
5065
->willReturn(Carrier::CODE);
5166

52-
/** @var Popup|MockObject $subjectMock */
53-
$subjectMock = $this->getMockBuilder(Popup::class)
54-
->disableOriginalConstructor()
55-
->setMethods(['formatDeliveryDate', 'getTrackingInfo'])
56-
->getMock();
57-
$subjectMock->expects($this->once())
58-
->method('getTrackingInfo')
59-
->willReturn([[$trackingStatusMock]]);
60-
$subjectMock->expects($this->once())
67+
$this->subjectMock->expects($this->once())
6168
->method('formatDeliveryDate');
6269

63-
$this->plugin->afterFormatDeliveryDateTime($subjectMock, 'Test Result', '2020-02-02', '12:00');
70+
$this->executeOriginalMethod();
6471
}
6572

6673
/**
6774
* Test the method with a different carrier
6875
*/
6976
public function testAfterFormatDeliveryDateTimeWithOtherCarrier()
7077
{
71-
/** @var Status|MockObject $trackingStatusMock */
72-
$trackingStatusMock = $this->getMockBuilder(Status::class)
78+
$this->trackingStatusMock->expects($this::once())
79+
->method('getCarrier')
80+
->willReturn(self::STUB_CARRIER_CODE_NOT_FEDEX);
81+
82+
$this->subjectMock->expects($this->never())
83+
->method('formatDeliveryDate');
84+
85+
$this->executeOriginalMethod();
86+
}
87+
88+
/**
89+
* Returns Mock for @see Status
90+
*
91+
* @return MockObject
92+
*/
93+
private function getStatusMock(): MockObject
94+
{
95+
return $this->getMockBuilder(Status::class)
7396
->disableOriginalConstructor()
7497
->setMethods(['getCarrier'])
7598
->getMock();
76-
$trackingStatusMock->expects($this::once())
77-
->method('getCarrier')
78-
->willReturn('not-fedex');
99+
}
79100

80-
/** @var Popup|MockObject $subjectMock */
81-
$subjectMock = $this->getMockBuilder(Popup::class)
101+
/**
102+
* Returns Mock for @see Popup
103+
*
104+
* @return MockObject
105+
*/
106+
private function getPopupMock(): MockObject
107+
{
108+
return $this->getMockBuilder(Popup::class)
82109
->disableOriginalConstructor()
83110
->setMethods(['formatDeliveryDate', 'getTrackingInfo'])
84111
->getMock();
85-
$subjectMock->expects($this->once())
86-
->method('getTrackingInfo')
87-
->willReturn([[$trackingStatusMock]]);
88-
$subjectMock->expects($this->never())
89-
->method('formatDeliveryDate');
112+
}
90113

91-
$this->plugin->afterFormatDeliveryDateTime($subjectMock, 'Test Result', '2020-02-02', '12:00');
114+
/**
115+
*
116+
*/
117+
private function executeOriginalMethod()
118+
{
119+
$this->plugin->afterFormatDeliveryDateTime(
120+
$this->subjectMock,
121+
'Test Result',
122+
self::STUB_DELIVERY_DATE,
123+
self::STUB_DELIVERY_TIME
124+
);
92125
}
93126
}

0 commit comments

Comments
 (0)