You are here

public function ManageFieldsFunctionalTest::addExistingField in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php \Drupal\Tests\field_ui\Functional\ManageFieldsFunctionalTest::addExistingField()
  2. 10 core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php \Drupal\Tests\field_ui\Functional\ManageFieldsFunctionalTest::addExistingField()

Tests adding an existing field in another content type.

1 call to ManageFieldsFunctionalTest::addExistingField()
ManageFieldsFunctionalTest::testCRUDFields in core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php
Runs the field CRUD tests.

File

core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php, line 256

Class

ManageFieldsFunctionalTest
Tests the Field UI "Manage fields" screen.

Namespace

Drupal\Tests\field_ui\Functional

Code

public function addExistingField() {

  // Check "Re-use existing field" appears.
  $this
    ->drupalGet('admin/structure/types/manage/page/fields/add-field');
  $this
    ->assertRaw(t('Re-use an existing field'), '"Re-use existing field" was found.');

  // Check that fields of other entity types (here, the 'comment_body' field)
  // do not show up in the "Re-use existing field" list.
  $this
    ->assertEmpty($this
    ->xpath('//select[@id="edit-existing-storage-name"]//option[@value="comment"]'), 'The list of options respects entity type restrictions.');

  // Validate the FALSE assertion above by also testing a valid one.
  $this
    ->assertNotEmpty($this
    ->xpath('//select[@id="edit-existing-storage-name"]//option[@value=:field_name]', [
    ':field_name' => $this->fieldName,
  ]), 'The list of options shows a valid option.');

  // Add a new field based on an existing field.
  $this
    ->fieldUIAddExistingField("admin/structure/types/manage/page", $this->fieldName, $this->fieldLabel . '_2');
}