You are here

public function FieldUiTestTrait::fieldUIDeleteField in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/field_ui/tests/src/Traits/FieldUiTestTrait.php \Drupal\Tests\field_ui\Traits\FieldUiTestTrait::fieldUIDeleteField()
  2. 9 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.

File

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

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) {

  // 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} content type.");

  // 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);
}