From 801e645ecee96ba1b57e3a7193cf74e45c6d67a4 Mon Sep 17 00:00:00 2001 From: Lauri Eskola <lauri.eskola@acquia.com> Date: Fri, 11 Mar 2022 11:41:47 +0200 Subject: [PATCH] Issue #3268708 by danflanagan8, longwave: Contact tests should not rely on Classy --- .../src/Functional/ContactSitewideTest.php | 32 ++++++++++++------- .../src/Functional/ContactStorageTest.php | 2 +- .../src/Functional/Views/ContactLinkTest.php | 2 +- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/core/modules/contact/tests/src/Functional/ContactSitewideTest.php b/core/modules/contact/tests/src/Functional/ContactSitewideTest.php index d9511b7b90a2..7963002572ae 100644 --- a/core/modules/contact/tests/src/Functional/ContactSitewideTest.php +++ b/core/modules/contact/tests/src/Functional/ContactSitewideTest.php @@ -42,7 +42,7 @@ class ContactSitewideTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -377,7 +377,7 @@ public function testSiteWideContact() { ]; $this->submitForm($edit, 'Send message'); // Verify that messages are not found. - $this->assertSession()->elementNotExists('xpath', '//div[@role="contentinfo"]'); + $this->assertSession()->elementNotExists('xpath', '//div[@data-drupal-messages]'); $this->assertSession()->addressEquals('user/' . $admin_user->id()); // Test preview and visibility of the message field and label. Submit the @@ -392,10 +392,15 @@ public function testSiteWideContact() { // Message is now by default displayed twice, once for the form element and // once for the viewed message. - $page_text = $this->getSession()->getPage()->getText(); - $this->assertGreaterThan(1, substr_count($page_text, 'Message')); - $this->assertSession()->responseContains('class="field field--name-message field--type-string-long field--label-above'); - $this->assertSession()->pageTextContains($edit['message[0][value]']); + $message = $edit['message[0][value]']; + $this->assertSession()->pageTextMatchesCount(2, '/Message/'); + $this->assertSession()->pageTextMatchesCount(2, '/' . $message . '/'); + // Check for label and message in form element. + $this->assertSession()->elementTextEquals('css', 'label[for="edit-message-0-value"]', 'Message'); + $this->assertSession()->fieldValueEquals('edit-message-0-value', $message); + // Check for label and message in preview. + $this->assertSession()->elementTextContains('css', '#edit-preview', 'Message'); + $this->assertSession()->elementTextContains('css', '#edit-preview', $message); // Hide the message field label. $display_edit = [ @@ -406,11 +411,16 @@ public function testSiteWideContact() { $this->drupalGet($form->toUrl('canonical')); $this->submitForm($edit, 'Preview'); - // Message should only be displayed once now. - $page_text = $this->getSession()->getPage()->getText(); - $this->assertEquals(1, substr_count($page_text, 'Message')); - $this->assertSession()->responseContains('class="field field--name-message field--type-string-long field--label-hidden field__item">'); - $this->assertSession()->pageTextContains($edit['message[0][value]']); + // 'Message' should only be displayed once now with the actual message + // displayed twice. + $this->assertSession()->pageTextContainsOnce('Message'); + $this->assertSession()->pageTextMatchesCount(2, '/' . $message . '/'); + // Check for label and message in form element. + $this->assertSession()->elementTextEquals('css', 'label[for="edit-message-0-value"]', 'Message'); + $this->assertSession()->fieldValueEquals('edit-message-0-value', $message); + // Check for message in preview but no label. + $this->assertSession()->elementTextNotContains('css', '#edit-preview', 'Message'); + $this->assertSession()->elementTextContains('css', '#edit-preview', $message); // Set the preview field to 'hidden' in the view mode and check that the // field is hidden. diff --git a/core/modules/contact/tests/src/Functional/ContactStorageTest.php b/core/modules/contact/tests/src/Functional/ContactStorageTest.php index ae67387b7758..b84297ece50c 100644 --- a/core/modules/contact/tests/src/Functional/ContactStorageTest.php +++ b/core/modules/contact/tests/src/Functional/ContactStorageTest.php @@ -34,7 +34,7 @@ class ContactStorageTest extends ContactSitewideTest { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Tests configuration options and the site-wide contact form. diff --git a/core/modules/contact/tests/src/Functional/Views/ContactLinkTest.php b/core/modules/contact/tests/src/Functional/Views/ContactLinkTest.php index ea07bc57b5d1..836e932f3725 100644 --- a/core/modules/contact/tests/src/Functional/Views/ContactLinkTest.php +++ b/core/modules/contact/tests/src/Functional/Views/ContactLinkTest.php @@ -32,7 +32,7 @@ class ContactLinkTest extends ViewTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Views used by this test. -- GitLab