![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-shipping/Test/Unit/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Shipping\Test\Unit\Helper; use Magento\Framework\App\Helper\Context; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; use Magento\Framework\Url\DecoderInterface; use Magento\Shipping\Helper\Data as HelperData; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Data helper test * * Class \Magento\Shipping\Test\Unit\Helper\DataTest */ class DataTest extends TestCase { /** * @var HelperData */ private $helper; /** * @var DecoderInterface|MockObject */ private $urlDecoderMock; /** * @var Context|MockObject */ private $contextMock; /** * @var ObjectManagerHelper */ private $objectManagerHelper; /** * Setup environment to test */ protected function setUp(): void { $this->contextMock = $this->createMock(Context::class); $this->urlDecoderMock = $this->getMockForAbstractClass(DecoderInterface::class); $this->contextMock->expects($this->any())->method('getUrlDecoder') ->willReturn($this->urlDecoderMock); $this->objectManagerHelper = new ObjectManagerHelper($this); $this->helper = $this->objectManagerHelper->getObject( HelperData::class, [ 'context' => $this->contextMock ] ); } /** * test decodeTrackingHash() with data provider below * * @param string $hash * @param string $urlDecodeResult * @param array $expected * @dataProvider decodeTrackingHashDataProvider */ public function testDecodeTrackingHash($hash, $urlDecodeResult, $expected) { $this->urlDecoderMock->expects($this->any())->method('decode') ->with($hash) ->willReturn($urlDecodeResult); $this->assertEquals($expected, $this->helper->decodeTrackingHash($hash)); } /** * Dataset to test getData() * * @return array */ public function decodeTrackingHashDataProvider() { return [ 'Test with hash key is allowed' => [ strtr(base64_encode('order_id:1:protected_code'), '+/=', '-_,'), 'order_id:1:protected_code', [ 'key' => 'order_id', 'id' => 1, 'hash' => 'protected_code' ] ], 'Test with hash key is not allowed' => [ strtr(base64_encode('invoice_id:1:protected_code'), '+/=', '-_,'), 'invoice_id:1:protected_code', [] ] ]; } }