Loading tests/src/FunctionalJavascript/ReadMoreExtraFieldFunctionalJavascriptTest.php +35 −31 Original line number Diff line number Diff line Loading @@ -155,45 +155,49 @@ class ReadMoreExtraFieldFunctionalJavascriptTest extends WebDriverTestBase { /** * Tests to see if the field behaves correctly inside layout builder. * * @todo Finish this test and change values. */ public function todoTestFieldInLayoutBuilder() { public function testFieldInLayoutBuilder() { $session = $this->assertSession(); $page = $this->getSession()->getPage(); $driver = $this->getSession()->getDriver(); /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */ $display_repository = \Drupal::service('entity_display.repository'); $display_repository->getViewDisplay('node', 'article') ->setComponent('extra_field_readmore_extrafield', [ 'type' => 'extra_field_readmore_extrafield', 'settings' => [ 'link_title' => 'Link Title Test', 'link_classes' => 'test-link-class', 'link_attr_title' => 'Link Attr Title', 'link_attr_rel' => 'alternate', 'link_attr_target' => '_self', ], ]) ->enable() ->save(); // Set the field inside layout builder: // Enable Layout Builder: $this->drupalGet('/admin/structure/types/manage/article/display'); $page->checkField('edit-layout-enabled'); $page->pressButton('edit-submit'); $this->drupalGet('/admin/structure/types/manage/article/display/default/layout'); $session->pageTextContainsOnce('Placeholder for the "Read more" field'); $page->pressButton('Add block'); $session->waitForElementVisible('css', 'div#drupal-off-canvas'); $page->pressButton('Read more'); $session->waitForElementVisible('css', 'div[id*="edit-settings-admin-label"]'); $session->elementExists('css', 'input[id*="edit-settings-label"]'); // @todo Check if other settings exist (link_to_entity and wrapper). // @todo Set settings and label. $page->pressButton('Add block'); $this->drupalGet('/layout_builder/choose/block/defaults/node.article.default/0/content'); $session->pageTextContains('Read more'); $this->drupalGet('/layout_builder/add/block/defaults/node.article.default/0/content/extra_field_block%3Anode%3Aarticle%3Aextra_field_readmore_extrafield'); // Test readmore_extrafield settings exist in Layout Builder: $session->elementExists('css', '#edit-settings-label'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-title'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-classes'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-title'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-rel'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-target'); // Fill these settings: $page->fillField('edit-settings-label', 'Test-Label'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-title', 'Link Title Test Overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-classes', 'test-link-class-overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-title', 'Link Attr Title Overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-rel', 'author'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-target', '_top'); // Save field: $page->pressButton('edit-actions-submit'); // Save layout: $page->pressButton('edit-submit'); // Go to node: $this->drupalGet('/node/' . $this->node->id()); $session->elementTextEquals('css', 'body > div > div > main > div > div > article > div > p', 'VerySpecificTestTitle (from extra_field_plus example)'); // Check all settings are set on the Link: $session->elementExists('css', 'a.test-link-class-overwritten.readmore-extrafield-link'); $session->elementExists('css', 'div.readmore-extrafield > a.test-link-class-overwritten.readmore-extrafield-link'); $session->elementTextEquals('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'Link Title Test Overwritten'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'title', 'Link Attr Title Overwritten'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'rel', 'author'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'target', '_top'); } } Loading
tests/src/FunctionalJavascript/ReadMoreExtraFieldFunctionalJavascriptTest.php +35 −31 Original line number Diff line number Diff line Loading @@ -155,45 +155,49 @@ class ReadMoreExtraFieldFunctionalJavascriptTest extends WebDriverTestBase { /** * Tests to see if the field behaves correctly inside layout builder. * * @todo Finish this test and change values. */ public function todoTestFieldInLayoutBuilder() { public function testFieldInLayoutBuilder() { $session = $this->assertSession(); $page = $this->getSession()->getPage(); $driver = $this->getSession()->getDriver(); /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */ $display_repository = \Drupal::service('entity_display.repository'); $display_repository->getViewDisplay('node', 'article') ->setComponent('extra_field_readmore_extrafield', [ 'type' => 'extra_field_readmore_extrafield', 'settings' => [ 'link_title' => 'Link Title Test', 'link_classes' => 'test-link-class', 'link_attr_title' => 'Link Attr Title', 'link_attr_rel' => 'alternate', 'link_attr_target' => '_self', ], ]) ->enable() ->save(); // Set the field inside layout builder: // Enable Layout Builder: $this->drupalGet('/admin/structure/types/manage/article/display'); $page->checkField('edit-layout-enabled'); $page->pressButton('edit-submit'); $this->drupalGet('/admin/structure/types/manage/article/display/default/layout'); $session->pageTextContainsOnce('Placeholder for the "Read more" field'); $page->pressButton('Add block'); $session->waitForElementVisible('css', 'div#drupal-off-canvas'); $page->pressButton('Read more'); $session->waitForElementVisible('css', 'div[id*="edit-settings-admin-label"]'); $session->elementExists('css', 'input[id*="edit-settings-label"]'); // @todo Check if other settings exist (link_to_entity and wrapper). // @todo Set settings and label. $page->pressButton('Add block'); $this->drupalGet('/layout_builder/choose/block/defaults/node.article.default/0/content'); $session->pageTextContains('Read more'); $this->drupalGet('/layout_builder/add/block/defaults/node.article.default/0/content/extra_field_block%3Anode%3Aarticle%3Aextra_field_readmore_extrafield'); // Test readmore_extrafield settings exist in Layout Builder: $session->elementExists('css', '#edit-settings-label'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-title'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-classes'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-title'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-rel'); $session->elementExists('css', '#edit-settings-third-party-settings-extra-field-plus-settings-link-attr-target'); // Fill these settings: $page->fillField('edit-settings-label', 'Test-Label'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-title', 'Link Title Test Overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-classes', 'test-link-class-overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-title', 'Link Attr Title Overwritten'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-rel', 'author'); $page->fillField('edit-settings-third-party-settings-extra-field-plus-settings-link-attr-target', '_top'); // Save field: $page->pressButton('edit-actions-submit'); // Save layout: $page->pressButton('edit-submit'); // Go to node: $this->drupalGet('/node/' . $this->node->id()); $session->elementTextEquals('css', 'body > div > div > main > div > div > article > div > p', 'VerySpecificTestTitle (from extra_field_plus example)'); // Check all settings are set on the Link: $session->elementExists('css', 'a.test-link-class-overwritten.readmore-extrafield-link'); $session->elementExists('css', 'div.readmore-extrafield > a.test-link-class-overwritten.readmore-extrafield-link'); $session->elementTextEquals('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'Link Title Test Overwritten'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'title', 'Link Attr Title Overwritten'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'rel', 'author'); $session->elementAttributeContains('css', 'a.test-link-class-overwritten.readmore-extrafield-link', 'target', '_top'); } }