public function MobileNumberFieldTest::createField in Mobile Number 8
Same name and namespace in other branches
- 2.0.x src/Tests/MobileNumberFieldTest.php \Drupal\mobile_number\Tests\MobileNumberFieldTest::createField()
Create mobile number field.
3 calls to MobileNumberFieldTest::createField()
- MobileNumberFieldTest::testNumberUniqueness in src/Tests/ MobileNumberFieldTest.php 
- Test number validation.
- MobileNumberFieldTest::testNumberValidity in src/Tests/ MobileNumberFieldTest.php 
- Test number validation.
- MobileNumberFieldTest::testVerification in src/Tests/ MobileNumberFieldTest.php 
- Test number verification.
File
- src/Tests/ MobileNumberFieldTest.php, line 339 
Class
- MobileNumberFieldTest
- Mobile number field functionality.'.
Namespace
Drupal\mobile_number\TestsCode
public function createField($content_type, $field_name, $unique, $cardinality, $verify = MobileNumberUtilInterface::MOBILE_NUMBER_VERIFY_OPTIONAL, $allowed_countries = []) {
  $entity_type_manager = \Drupal::entityTypeManager();
  /** @var \Drupal\field\FieldStorageConfigInterface $field_storage */
  $field_storage = $entity_type_manager
    ->getStorage('field_storage_config')
    ->create([
    'entity_type' => 'node',
    'field_name' => $field_name,
    'type' => 'mobile_number',
  ]);
  $field_storage
    ->setSetting('unique', $unique);
  $field_storage
    ->setCardinality($cardinality)
    ->save();
  // Create the instance on the bundle.
  $instance = [
    'field_name' => $field_name,
    'entity_type' => 'node',
    'label' => 'Mobile Number',
    'bundle' => $content_type,
    'required' => TRUE,
  ];
  FieldConfig::create($instance)
    ->setSetting('verify', $verify)
    ->setSetting('countries', $allowed_countries)
    ->save();
  /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $entity_form_display */
  $entity_form_display = EntityFormDisplay::load('node.' . $content_type . '.default');
  if (!$entity_form_display) {
    $entity_form_display = EntityFormDisplay::create([
      'targetEntityType' => 'node',
      'bundle' => $content_type,
      'mode' => 'default',
      'status' => TRUE,
    ]);
  }
  $entity_form_display
    ->save();
  $entity_form_display
    ->setComponent($field_storage
    ->getName(), [
    'type' => 'mobile_number_default',
  ])
    ->save();
}