Skip to content

Commit 8ad13f2

Browse files
ENGCOM-6680: Unit Test for Magento\Fedex\Plugin\Block\DataProviders\Tracking\ChangeTitle #26478
- Merge Pull Request #26478 from karyna-tsymbal-atwix/magento2:unit-test-fedex-plugin-block-changetitle - Merged commits: 1. 7a70a47 2. e69ff7b
2 parents 29cb41d + e69ff7b commit 8ad13f2

File tree

1 file changed

+80
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)