ConditionsTest.php 1.9 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 ConditionsTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Rule\Model\Renderer\Conditions
  12. */
  13. protected $conditions;
  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->conditions = $this->objectManagerHelper->getObject(\Magento\Rule\Model\Renderer\Conditions::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(['getConditions', '__sleep', '__wakeup'])
  35. ->disableOriginalConstructor()
  36. ->getMockForAbstractClass();
  37. $conditions = $this->createPartialMock(\Magento\Rule\Model\Condition\Combine::class, ['asHtmlRecursive']);
  38. $this->_element->expects($this->any())
  39. ->method('getRule')
  40. ->will($this->returnValue($rule));
  41. $rule->expects($this->any())
  42. ->method('getConditions')
  43. ->will($this->returnValue($conditions));
  44. $conditions->expects($this->once())
  45. ->method('asHtmlRecursive')
  46. ->will($this->returnValue('conditions html'));
  47. $this->assertEquals('conditions html', $this->conditions->render($this->_element));
  48. }
  49. }