123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Test\Unit\Ui\Component;
- use Magento\Customer\Ui\Component\ColumnFactory;
- class ColumnFactoryTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\Customer\Api\Data\OptionInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $attributeOption;
- /** @var \Magento\Framework\View\Element\UiComponent\ContextInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $context;
- /** @var \Magento\Framework\View\Element\UiComponentFactory|\PHPUnit_Framework_MockObject_MockObject */
- protected $componentFactory;
- /** @var \Magento\Customer\Api\Data\AttributeMetadataInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $attributeMetadata;
- /** @var \Magento\Ui\Component\Listing\Columns\ColumnInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $column;
- /** @var \Magento\Customer\Ui\Component\Listing\Column\InlineEditUpdater|\PHPUnit_Framework_MockObject_MockObject */
- protected $inlineEditUpdater;
- /** @var ColumnFactory */
- protected $columnFactory;
- protected function setUp()
- {
- $this->context = $this->getMockForAbstractClass(
- \Magento\Framework\View\Element\UiComponent\ContextInterface::class,
- [],
- '',
- false
- );
- $this->componentFactory = $this->createPartialMock(
- \Magento\Framework\View\Element\UiComponentFactory::class,
- ['create']
- );
- $this->attributeMetadata = $this->getMockForAbstractClass(
- \Magento\Customer\Api\Data\AttributeMetadataInterface::class,
- [],
- '',
- false
- );
- $this->column = $this->getMockForAbstractClass(
- \Magento\Ui\Component\Listing\Columns\ColumnInterface::class,
- [],
- '',
- false
- );
- $this->attributeOption = $this->getMockForAbstractClass(
- \Magento\Customer\Api\Data\OptionInterface::class,
- [],
- '',
- false
- );
- $this->inlineEditUpdater = $this->getMockBuilder(
- \Magento\Customer\Ui\Component\Listing\Column\InlineEditUpdater::class
- )
- ->disableOriginalConstructor()
- ->getMock();
- $this->columnFactory = new ColumnFactory($this->componentFactory, $this->inlineEditUpdater);
- }
- public function testCreate()
- {
- $columnName = 'created_at';
- $config = [
- 'data' => [
- 'js_config' => [
- 'component' => 'Magento_Ui/js/grid/columns/column',
- ],
- 'config' => [
- 'label' => __('Label'),
- 'dataType' => 'text',
- 'align' => 'left',
- 'visible' => true,
- 'options' => [
- [
- 'label' => 'Label',
- 'value' => 'Value'
- ]
- ],
- 'component' => 'Magento_Ui/js/grid/columns/column',
- ],
- ],
- 'context' => $this->context,
- ];
- $attributeData = [
- 'attribute_code' => 'billing_attribute_code',
- 'frontend_input' => 'text',
- 'frontend_label' => 'Label',
- 'backend_type' => 'backend-type',
- 'options' => [
- [
- 'label' => 'Label',
- 'value' => 'Value'
- ]
- ],
- 'is_used_in_grid' => true,
- 'is_visible_in_grid' => true,
- 'is_filterable_in_grid' => true,
- 'is_searchable_in_grid' => true,
- 'entity_type_code' => 'customer',
- 'validation_rules' => [],
- 'required' => false,
- ];
- $this->inlineEditUpdater->expects($this->once())
- ->method('applyEditing')
- ->with($this->column, 'text', []);
- $this->componentFactory->expects($this->once())
- ->method('create')
- ->with($columnName, 'column', $config)
- ->willReturn($this->column);
- $this->assertSame(
- $this->column,
- $this->columnFactory->create($attributeData, $columnName, $this->context)
- );
- }
- }
|