protected function CckSelectOtherTestBase::createSelectOtherListField in CCK Select Other 8
Creates a select other field on the content type.
Parameters
string $type: The field type plugin ID.
array $fieldInfo: The field storage configuration.
array $instanceInfo: The field configuration.
Return value
\Drupal\Core\Entity\EntityInterface|\Drupal\field\Entity\FieldStorageConfig The field config instance.
Throws
\Drupal\Core\Entity\EntityStorageException
7 calls to CckSelectOtherTestBase::createSelectOtherListField()
- CckSelectOtherDefaultValueTest::testDefaultValue in tests/
src/ Functional/ CckSelectOtherDefaultValueTest.php  - Asserts that default value is selected.
 - CckSelectOtherEmptyTest::testEmpty in tests/
src/ Functional/ CckSelectOtherEmptyTest.php  - Asserts field validation for required attribute.
 - CckSelectOtherFieldTypeTest::testField in tests/
src/ Functional/ CckSelectOtherFieldTypeTest.php  - Asserts that a user can save regular and other field values.
 - CckSelectOtherHtmlEntitiesTest::testHtmlEntities in tests/
src/ Functional/ CckSelectOtherHtmlEntitiesTest.php  - Asserts HTML entities are not double-encoded.
 - CckSelectOtherMultipleFieldTest::setUp in tests/
src/ Functional/ CckSelectOtherMultipleFieldTest.php  
File
- tests/
src/ Functional/ CckSelectOtherTestBase.php, line 78  
Class
- CckSelectOtherTestBase
 - CCK Select Other functional test base class.
 
Namespace
Drupal\Tests\cck_select_other\FunctionalCode
protected function createSelectOtherListField($type = 'list_string', array $fieldInfo = [], array $instanceInfo = []) {
  $random = $this
    ->getRandomGenerator();
  // Create field storage instance.
  $storage_values = NestedArray::mergeDeep($fieldInfo, [
    'field_name' => strtolower($random
      ->name(8, TRUE)),
    'entity_type' => 'node',
    'type' => $type,
  ]);
  $fieldStorage = FieldStorageConfig::create($storage_values);
  $fieldStorage
    ->save();
  $this
    ->assertNotNull($fieldStorage
    ->id(), 'Successfully saved field storage configuration.');
  // Create field instance.
  $field_values = NestedArray::mergeDeep($instanceInfo, [
    'field_name' => $fieldStorage
      ->getName(),
    'entity_type' => 'node',
    'bundle' => $this->contentType
      ->id(),
    'label' => $random
      ->string(15),
  ]);
  $field = FieldConfig::create($field_values);
  $field
    ->save();
  $this
    ->assertNotNull($field
    ->id(), 'Successfully saved field configuration.');
  // Create form and display entities for select other field.
  $display_id = 'node.' . $this->contentType
    ->id() . '.default';
  $formDisplay = EntityFormDisplay::load($display_id);
  $formDisplay
    ->setComponent($fieldStorage
    ->getName(), [
    'type' => 'cck_select_other',
  ]);
  $formDisplay
    ->save();
  $viewDisplay = EntityViewDisplay::load($display_id);
  $viewDisplay
    ->setComponent($fieldStorage
    ->getName(), [
    'type' => 'cck_select_other',
  ]);
  $viewDisplay
    ->save();
  return $fieldStorage;
}