LinkTest.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Checkout\Test\Unit\Block;
  7. class LinkTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
  11. */
  12. protected $_objectManagerHelper;
  13. protected function setUp()
  14. {
  15. $this->_objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  16. }
  17. public function testGetUrl()
  18. {
  19. $path = 'checkout';
  20. $url = 'http://example.com/';
  21. $urlBuilder = $this->getMockForAbstractClass(\Magento\Framework\UrlInterface::class);
  22. $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
  23. $context = $this->_objectManagerHelper->getObject(
  24. \Magento\Framework\View\Element\Template\Context::class,
  25. ['urlBuilder' => $urlBuilder]
  26. );
  27. $link = $this->_objectManagerHelper->getObject(\Magento\Checkout\Block\Link::class, ['context' => $context]);
  28. $this->assertEquals($url . $path, $link->getHref());
  29. }
  30. /**
  31. * @dataProvider toHtmlDataProvider
  32. */
  33. public function testToHtml($canOnepageCheckout, $isOutputEnabled)
  34. {
  35. $helper = $this->getMockBuilder(
  36. \Magento\Checkout\Helper\Data::class
  37. )->disableOriginalConstructor()->setMethods(
  38. ['canOnepageCheckout', 'isModuleOutputEnabled']
  39. )->getMock();
  40. $moduleManager = $this->getMockBuilder(
  41. \Magento\Framework\Module\Manager::class
  42. )->disableOriginalConstructor()->setMethods(
  43. ['isOutputEnabled']
  44. )->getMock();
  45. /** @var \Magento\Checkout\Block\Link $block */
  46. $block = $this->_objectManagerHelper->getObject(
  47. \Magento\Checkout\Block\Link::class,
  48. ['moduleManager' => $moduleManager, 'checkoutHelper' => $helper]
  49. );
  50. $helper->expects($this->any())->method('canOnepageCheckout')->will($this->returnValue($canOnepageCheckout));
  51. $moduleManager->expects(
  52. $this->any()
  53. )->method(
  54. 'isOutputEnabled'
  55. )->with(
  56. 'Magento_Checkout'
  57. )->will(
  58. $this->returnValue($isOutputEnabled)
  59. );
  60. $this->assertEquals('', $block->toHtml());
  61. }
  62. /**
  63. * @return array
  64. */
  65. public function toHtmlDataProvider()
  66. {
  67. return [[false, true], [true, false], [false, false]];
  68. }
  69. }