public function testPrepareWithAlreadyAddedComponent() { $attributeCode = 'billing_attribute_code'; $attributeData = ['attribute_code' => $attributeCode, 'frontend_input' => 'frontend-input', 'frontend_label' => 'frontend-label', 'backend_type' => 'backend-type', 'options' => [['label' => 'Label', 'value' => 'Value']], 'is_used_in_grid' => true, 'is_visible_in_grid' => true, 'is_filterable_in_grid' => false, 'is_searchable_in_grid' => true]; $this->component->addComponent($attributeCode, $this->filter); $this->attributeRepository->expects($this->atLeastOnce())->method('getList')->willReturn([$attributeCode => $attributeData]); $this->component->prepare(); $this->assertEquals(null, $this->component->getComponent($attributeCode)); }
public function testPrepareDataSource() { $genderOptionId = 1; $genderOptionLabel = 'Male'; $dataSource = ['data' => ['items' => [['name' => 'testName'], ['gender' => $genderOptionId]]]]; $expectedSource = ['data' => ['items' => [['name' => 'testName'], ['gender' => $genderOptionLabel]]]]; $this->attributeRepository->expects($this->once())->method('getMetadataByCode')->with('gender')->willReturn(['attribute_code' => 'billing_attribute_code', 'frontend_input' => 'frontend-input', 'frontend_label' => 'frontend-label', 'backend_type' => 'backend-type', 'options' => [['label' => $genderOptionLabel, 'value' => $genderOptionId]], 'is_used_in_grid' => true, 'is_visible_in_grid' => true, 'is_filterable_in_grid' => true, 'is_searchable_in_grid' => true]); $dataSource = $this->component->prepareDataSource($dataSource); $this->assertEquals($expectedSource, $dataSource); }
public function testPrepareWithUpdateStaticColumn() { $attributeCode = 'billing_attribute_code'; $backendType = 'static'; $attributeData = ['attribute_code' => 'billing_attribute_code', 'frontend_input' => 'text', 'frontend_label' => 'frontend-label', 'backend_type' => $backendType, '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, 'validation_rules' => [], 'required' => false, 'entity_type_code' => 'customer']; $this->inlineEditUpdater->expects($this->once())->method('applyEditing')->with($this->column, 'text', [], false); $this->attributeRepository->expects($this->atLeastOnce())->method('getList')->willReturn([$attributeCode => $attributeData]); $this->columnFactory->expects($this->once())->method('create')->willReturn($this->column); $this->column->expects($this->once())->method('prepare'); $this->column->expects($this->atLeastOnce())->method('getData')->with('config')->willReturn(['editor' => 'text']); $this->column->expects($this->at(3))->method('setData')->with('config', ['editor' => 'text', 'options' => [['label' => 'Label', 'value' => 'Value']]]); $this->column->expects($this->at(6))->method('setData')->with('config', ['editor' => 'text', 'visible' => true]); $this->component->addColumn($attributeData, $attributeCode); $this->component->prepare(); }