PostHelperTest.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Data\Test\Unit\Helper;
  7. use Magento\Framework\App\Action\Action;
  8. class PostHelperTest extends \PHPUnit\Framework\TestCase
  9. {
  10. public function testGetPostData()
  11. {
  12. $url = '/controller/sample/action/url/';
  13. $product = ['product' => new \Magento\Framework\DataObject(['id' => 1])];
  14. $expected = json_encode([
  15. 'action' => $url,
  16. 'data' => [
  17. 'product' => new \Magento\Framework\DataObject(['id' => 1]),
  18. Action::PARAM_NAME_URL_ENCODED => strtr(base64_encode($url . 'for_uenc'), '+/=', '-_,'),
  19. ],
  20. ]);
  21. $contextMock =
  22. $this->createPartialMock(\Magento\Framework\App\Helper\Context::class, ['getUrlBuilder', 'getUrlEncoder']);
  23. $urlHelper = $this->getMockBuilder(\Magento\Framework\Url\Helper\Data::class)
  24. ->disableOriginalConstructor()->getMock();
  25. $urlHelper->expects($this->once())
  26. ->method('getEncodedUrl')
  27. ->willReturn('L2NvbnRyb2xsZXIvc2FtcGxlL2FjdGlvbi91cmwvZm9yX3VlbmM,');
  28. $model = new \Magento\Framework\Data\Helper\PostHelper($contextMock, $urlHelper);
  29. $actual = $model->getPostData($url, $product);
  30. $this->assertEquals($expected, $actual);
  31. }
  32. }