Skip to content

Commit 7a70a47

Browse files
committed
Unit Test for Magento\Fedex\Plugin\Block\DataProviders\Tracking\ChangeTitle
1 parent c2e2646 commit 7a70a47

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Fedex\Test\Unit\Plugin\Block\DataProviders\Tracking;
8+
9+
use Magento\Fedex\Plugin\Block\DataProviders\Tracking\ChangeTitle;
10+
use Magento\Framework\Phrase;
11+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
12+
use Magento\Shipping\Block\DataProviders\Tracking\DeliveryDateTitle;
13+
use Magento\Shipping\Model\Tracking\Result\Status;
14+
use PHPUnit\Framework\MockObject\MockObject;
15+
use PHPUnit\Framework\TestCase;
16+
17+
/**
18+
* Unit Test for @see \Magento\Fedex\Plugin\Block\DataProviders\Tracking\ChangeTitle
19+
*/
20+
class ChangeTitleTest extends TestCase
21+
{
22+
/**
23+
* @var ChangeTitle|MockObject
24+
*/
25+
private $plugin;
26+
27+
/**
28+
* @inheritDoc
29+
*/
30+
protected function setUp()
31+
{
32+
$objectManagerHelper = new ObjectManager($this);
33+
$this->plugin = $objectManagerHelper->getObject(ChangeTitle::class);
34+
}
35+
36+
/**
37+
* Check if Title was changed
38+
*
39+
* @param string $carrierCode
40+
* @param string $originalResult
41+
* @param Phrase|string $finalResult
42+
* @dataProvider testAfterGetTitleDataProvider
43+
*/
44+
public function testAfterGetTitle($carrierCode, $originalResult, $finalResult)
45+
{
46+
/** @var DeliveryDateTitle|MockObject $subjectMock */
47+
$subjectMock = $this->getMockBuilder(DeliveryDateTitle::class)
48+
->disableOriginalConstructor()
49+
->getMock();
50+
51+
/** @var Status|MockObject $trackingStatusMock */
52+
$trackingStatusMock = $this->getMockBuilder(Status::class)
53+
->disableOriginalConstructor()
54+
->setMethods(['getCarrier'])
55+
->getMock();
56+
$trackingStatusMock->expects($this::once())
57+
->method('getCarrier')
58+
->willReturn($carrierCode);
59+
60+
$actual = $this->plugin->afterGetTitle($subjectMock, $originalResult, $trackingStatusMock);
61+
62+
$this->assertEquals($finalResult, $actual);
63+
}
64+
65+
/**
66+
* Data provider
67+
*
68+
* @return array
69+
*/
70+
public function testAfterGetTitleDataProvider()
71+
{
72+
return [
73+
[\Magento\Fedex\Model\Carrier::CODE, 'Original Title', __('Expected Delivery:')],
74+
['not-fedex', 'Original Title', 'Original Title'],
75+
];
76+
}
77+
}

0 commit comments

Comments
 (0)