function FieldUiTestTrait::fieldUIDeleteField

Same name in other branches
  1. 9 core/modules/field_ui/tests/src/Traits/FieldUiTestTrait.php \Drupal\Tests\field_ui\Traits\FieldUiTestTrait::fieldUIDeleteField()
  2. 8.9.x core/modules/field_ui/src/Tests/FieldUiTestTrait.php \Drupal\field_ui\Tests\FieldUiTestTrait::fieldUIDeleteField()
  3. 8.9.x core/modules/field_ui/tests/src/Traits/FieldUiTestTrait.php \Drupal\Tests\field_ui\Traits\FieldUiTestTrait::fieldUIDeleteField()
  4. 10 core/modules/field_ui/tests/src/Traits/FieldUiTestTrait.php \Drupal\Tests\field_ui\Traits\FieldUiTestTrait::fieldUIDeleteField()

Deletes a field through the Field UI.

Parameters

string $bundle_path: Admin path of the bundle that the field is to be deleted from.

string $field_name: The name of the field.

string $label: The label of the field.

string $bundle_label: The label of the bundle.

string $source_label: (optional) The label of the source entity type bundle.

2 calls to FieldUiTestTrait::fieldUIDeleteField()
CommentNonNodeTest::testCommentFunctionality in core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
Tests anonymous comment functionality.
FieldUIDeleteTest::testDeleteField in core/modules/field_ui/tests/src/Functional/FieldUIDeleteTest.php
Tests that deletion removes field storages and fields as expected.

File

core/modules/field_ui/tests/src/Traits/FieldUiTestTrait.php, line 168

Class

FieldUiTestTrait
Provides common functionality for the Field UI test classes.

Namespace

Drupal\Tests\field_ui\Traits

Code

public function fieldUIDeleteField($bundle_path, $field_name, $label, $bundle_label, string $source_label = '') {
    // Display confirmation form.
    $this->drupalGet("{$bundle_path}/fields/{$field_name}/delete");
    $this->assertSession()
        ->pageTextContains("Are you sure you want to delete the field {$label}");
    // Test Breadcrumbs.
    $this->assertSession()
        ->linkExists($label, 0, 'Field label is correct in the breadcrumb of the field delete page.');
    // Submit confirmation form.
    $this->submitForm([], 'Delete');
    $this->assertSession()
        ->pageTextContains("The field {$label} has been deleted from the {$bundle_label} {$source_label}");
    // Check that the field does not appear in the overview form.
    $xpath = $this->assertSession()
        ->buildXPathQuery('//table[@id="field-overview"]//span[@class="label-field" and text()= :label]', [
        ':label' => $label,
    ]);
    $this->assertSession()
        ->elementNotExists('xpath', $xpath);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.