Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PostHelperTest.php
Go to the documentation of this file.
1 <?php
7 
9 
10 class PostHelperTest extends \PHPUnit\Framework\TestCase
11 {
12  public function testGetPostData()
13  {
14  $url = '/controller/sample/action/url/';
15  $product = ['product' => new \Magento\Framework\DataObject(['id' => 1])];
16  $expected = json_encode([
17  'action' => $url,
18  'data' => [
19  'product' => new \Magento\Framework\DataObject(['id' => 1]),
20  Action::PARAM_NAME_URL_ENCODED => strtr(base64_encode($url . 'for_uenc'), '+/=', '-_,'),
21  ],
22  ]);
23 
24  $contextMock =
25  $this->createPartialMock(\Magento\Framework\App\Helper\Context::class, ['getUrlBuilder', 'getUrlEncoder']);
26  $urlHelper = $this->getMockBuilder(\Magento\Framework\Url\Helper\Data::class)
27  ->disableOriginalConstructor()->getMock();
28  $urlHelper->expects($this->once())
29  ->method('getEncodedUrl')
30  ->willReturn('L2NvbnRyb2xsZXIvc2FtcGxlL2FjdGlvbi91cmwvZm9yX3VlbmM,');
31 
32  $model = new \Magento\Framework\Data\Helper\PostHelper($contextMock, $urlHelper);
33 
34  $actual = $model->getPostData($url, $product);
35  $this->assertEquals($expected, $actual);
36  }
37 }
testGetPostData()