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