FormTest.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Block\Widget;
  7. /**
  8. * Test class for \Magento\Backend\Block\Widget\Form
  9. * @magentoAppArea adminhtml
  10. */
  11. class FormTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @magentoAppIsolation enabled
  15. */
  16. public function testSetFieldset()
  17. {
  18. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  19. $objectManager->get(
  20. \Magento\Framework\View\DesignInterface::class
  21. )->setArea(
  22. \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE
  23. )->setDefaultDesignTheme();
  24. $layout = $objectManager->create(\Magento\Framework\View\Layout::class);
  25. $formBlock = $layout->addBlock(\Magento\Backend\Block\Widget\Form::class);
  26. $fieldSet = $objectManager->create(\Magento\Framework\Data\Form\Element\Fieldset::class);
  27. $arguments = [
  28. 'data' => [
  29. 'attribute_code' => 'date',
  30. 'backend_type' => 'datetime',
  31. 'frontend_input' => 'date',
  32. 'frontend_label' => 'Date',
  33. ],
  34. ];
  35. $attributes = [$objectManager->create(\Magento\Eav\Model\Entity\Attribute::class, $arguments)];
  36. $method = new \ReflectionMethod(\Magento\Backend\Block\Widget\Form::class, '_setFieldset');
  37. $method->setAccessible(true);
  38. $method->invoke($formBlock, $attributes, $fieldSet);
  39. $fields = $fieldSet->getElements();
  40. $this->assertEquals(1, count($fields));
  41. $this->assertInstanceOf(\Magento\Framework\Data\Form\Element\Date::class, $fields[0]);
  42. $this->assertNotEmpty($fields[0]->getDateFormat());
  43. }
  44. }