function DisplayAttachmentTest::testRemoveAttachedDisplay

Same name and namespace in other branches
  1. 9 core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php \Drupal\Tests\views_ui\Functional\DisplayAttachmentTest::testRemoveAttachedDisplay()
  2. 10 core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php \Drupal\Tests\views_ui\Functional\DisplayAttachmentTest::testRemoveAttachedDisplay()
  3. 11.x core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php \Drupal\Tests\views_ui\Functional\DisplayAttachmentTest::testRemoveAttachedDisplay()

Tests the attachment working after the attached page was deleted.

File

core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php, line 71

Class

DisplayAttachmentTest
Tests the UI for the attachment display plugin.

Namespace

Drupal\Tests\views_ui\Functional

Code

public function testRemoveAttachedDisplay() {
    // Create a view.
    $view = $this->randomView();
    $path_prefix = 'admin/structure/views/view/' . $view['id'] . '/edit';
    $attachment_display_url = 'admin/structure/views/nojs/display/' . $view['id'] . '/attachment_1/displays';
    // Open the Page display and create the attachment display.
    $this->drupalGet($path_prefix . '/page_1');
    $this->drupalPostForm(NULL, [], 'Add Attachment');
    $this->assertText(t('Not defined'), 'The right text appears if there is no attachment selection yet.');
    // Attach the Attachment to the Page display.
    $this->drupalPostForm($attachment_display_url, [
        'displays[page_1]' => 1,
    ], t('Apply'));
    $this->drupalPostForm(NULL, [], t('Save'));
    // Open the Page display and mark it as deleted.
    $this->drupalGet($path_prefix . '/page_1');
    $this->assertFieldById('edit-displays-settings-settings-content-tab-content-details-top-actions-delete', 'Delete Page', 'Make sure there is a delete button on the page display.');
    $this->drupalPostForm($path_prefix . '/page_1', [], 'Delete Page');
    // Open the attachment display and save it.
    $this->drupalGet($path_prefix . '/attachment_1');
    $this->drupalPostForm(NULL, [], t('Save'));
    // Check that there is no warning for the removed page display.
    $this->assertNoText("Plugin ID 'page_1' was not found.");
    // Check that the attachment is no longer linked to the removed display.
    $this->assertText(t('Not defined'), 'The right text appears if there is no attachment selection yet.');
}

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