ActionsTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Rule\Test\Unit\Model\Renderer;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  8. class ActionsTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Rule\Model\Renderer\Actions
  12. */
  13. protected $actions;
  14. /**
  15. * @var ObjectManagerHelper
  16. */
  17. protected $objectManagerHelper;
  18. /**
  19. * @var \Magento\Framework\Data\Form\Element\AbstractElement|\PHPUnit_Framework_MockObject_MockObject
  20. */
  21. protected $_element;
  22. protected function setUp()
  23. {
  24. $this->objectManagerHelper = new ObjectManagerHelper($this);
  25. $this->actions = $this->objectManagerHelper->getObject(\Magento\Rule\Model\Renderer\Actions::class);
  26. $this->_element = $this->createPartialMock(
  27. \Magento\Framework\Data\Form\Element\AbstractElement::class,
  28. ['getRule']
  29. );
  30. }
  31. public function testRender()
  32. {
  33. $rule = $this->getMockBuilder(\Magento\Rule\Model\AbstractModel::class)
  34. ->setMethods(['getActions', '__sleep', '__wakeup'])
  35. ->disableOriginalConstructor()
  36. ->getMockForAbstractClass();
  37. $actions = $this->createPartialMock(\Magento\Rule\Model\Action\Collection::class, ['asHtmlRecursive']);
  38. $this->_element->expects($this->any())
  39. ->method('getRule')
  40. ->will($this->returnValue($rule));
  41. $rule->expects($this->any())
  42. ->method('getActions')
  43. ->will($this->returnValue($actions));
  44. $actions->expects($this->once())
  45. ->method('asHtmlRecursive')
  46. ->will($this->returnValue('action html'));
  47. $this->assertEquals('action html', $this->actions->render($this->_element));
  48. }
  49. }