Chris@0: fields->{$field_name}_field_storage Chris@0: * - $this->fields->{$field_name}_instance Chris@0: * Chris@0: * @see \Drupal\quickedit\Tests\QuickEditTestBase::createFieldWithStorage() Chris@0: * Chris@0: * @var \ArrayObject Chris@0: */ Chris@0: protected $fields; Chris@0: Chris@0: /** Chris@0: * Sets the default field storage backend for fields created during tests. Chris@0: */ Chris@0: protected function setUp() { Chris@0: parent::setUp(); Chris@0: Chris@0: $this->fields = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); Chris@0: Chris@0: $this->installEntitySchema('user'); Chris@0: $this->installEntitySchema('entity_test'); Chris@0: $this->installConfig(['field', 'filter']); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Creates a field. Chris@0: * Chris@0: * @param string $field_name Chris@0: * The field name. Chris@0: * @param string $type Chris@0: * The field type. Chris@0: * @param int $cardinality Chris@0: * The field's cardinality. Chris@0: * @param string $label Chris@0: * The field's label (used everywhere: widget label, formatter label). Chris@0: * @param array $field_settings Chris@0: * @param string $widget_type Chris@0: * The widget type. Chris@0: * @param array $widget_settings Chris@0: * The widget settings. Chris@0: * @param string $formatter_type Chris@0: * The formatter type. Chris@0: * @param array $formatter_settings Chris@0: * The formatter settings. Chris@0: */ Chris@0: protected function createFieldWithStorage($field_name, $type, $cardinality, $label, $field_settings, $widget_type, $widget_settings, $formatter_type, $formatter_settings) { Chris@0: $field_storage = $field_name . '_field_storage'; Chris@0: $this->fields->$field_storage = FieldStorageConfig::create([ Chris@0: 'field_name' => $field_name, Chris@0: 'entity_type' => 'entity_test', Chris@0: 'type' => $type, Chris@0: 'cardinality' => $cardinality, Chris@0: ]); Chris@0: $this->fields->$field_storage->save(); Chris@0: Chris@0: $field = $field_name . '_field'; Chris@0: $this->fields->$field = FieldConfig::create([ Chris@0: 'field_storage' => $this->fields->$field_storage, Chris@0: 'bundle' => 'entity_test', Chris@0: 'label' => $label, Chris@0: 'description' => $label, Chris@0: 'weight' => mt_rand(0, 127), Chris@0: 'settings' => $field_settings, Chris@0: ]); Chris@0: $this->fields->$field->save(); Chris@0: Chris@0: entity_get_form_display('entity_test', 'entity_test', 'default') Chris@0: ->setComponent($field_name, [ Chris@0: 'type' => $widget_type, Chris@0: 'settings' => $widget_settings, Chris@0: ]) Chris@0: ->save(); Chris@0: Chris@0: entity_get_display('entity_test', 'entity_test', 'default') Chris@0: ->setComponent($field_name, [ Chris@0: 'label' => 'above', Chris@0: 'type' => $formatter_type, Chris@17: 'settings' => $formatter_settings, Chris@0: ]) Chris@0: ->save(); Chris@0: } Chris@0: Chris@0: }