diff --git a/core/modules/workflows/tests/src/FunctionalJavascript/WorkflowEditFormTest.php b/core/modules/workflows/tests/src/FunctionalJavascript/WorkflowEditFormTest.php index 95111fe..79c078a 100644 --- a/core/modules/workflows/tests/src/FunctionalJavascript/WorkflowEditFormTest.php +++ b/core/modules/workflows/tests/src/FunctionalJavascript/WorkflowEditFormTest.php @@ -34,6 +34,7 @@ public function setUp() { ->addState('draft', 'Draft') ->addState('published', 'Published') ->addTransition('publish', 'Publish', ['draft', 'published'], 'published') + ->addTransition('create_new_draft', 'Create New Draft', ['published'], 'draft') ->save(); $user = $this->drupalCreateUser(['administer workflows']); @@ -50,7 +51,7 @@ public function testWorkflowStatesForm() { $new_label = 'Murray Rothbard'; // Edit a state. - $this->click('#edit-states-container tr:contains(Draft) a:contains(Edit)'); + $this->click('[data-drupal-selector="edit-states-draft-operations"] a:contains(Edit)'); $assert_session->assertWaitOnAjaxRequest(); $modal = $assert_session->waitForElementVisible('css', '#drupal-modal'); $this->assertTrue($modal->isVisible(), 'Modal window found.'); @@ -61,7 +62,7 @@ public function testWorkflowStatesForm() { $save_button->click(); $assert_session->assertWaitOnAjaxRequest(); $assert_session->waitForElementVisible('css', '#edit-states-modal-messages .messages'); - $assert_session->pageTextContains('Saved ' . $new_label . ' state.'); + $assert_session->elementTextContains('css', '#edit-states-modal-messages .messages', 'Saved ' . $new_label . ' state.'); $assert_session->elementExists('css', '#edit-states-draft-state:contains(' . $new_label . ')'); $assert_session->elementNotExists('css', '#edit-states-draft-state:contains(Draft)'); @@ -77,8 +78,8 @@ public function testWorkflowStatesForm() { $delete_button->click(); $assert_session->assertWaitOnAjaxRequest(); $assert_session->waitForElementVisible('css', '#edit-states-modal-messages .messages'); - $assert_session->pageTextContains('State Published deleted.'); - $this->assertNull($page->find('css', '#edit-states-container tr:contains(Published)')); + $assert_session->elementTextContains('css', '#edit-states-modal-messages .messages', 'State Published deleted.'); + $assert_session->elementNotExists('css', '#edit-states-container tr:contains(Published)'); } /** @@ -89,11 +90,10 @@ public function testWorkflowTransitionsForm() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $new_label = 'Murray Rothbard'; - $screen_dir = \Drupal::root() . '/sites/default/files/simpletest/'; // Test the Transitions elements. // Edit a transition. - $this->click('#edit-transitions-container tr:contains(Publish) a:contains(Edit)'); + $this->click('[data-drupal-selector="edit-transitions-publish-operations"] a:contains(Edit)'); $assert_session->assertWaitOnAjaxRequest(); $modal = $assert_session->waitForElementVisible('css', '#drupal-modal'); $this->assertTrue($modal->isVisible(), 'Modal window found.'); @@ -105,12 +105,24 @@ public function testWorkflowTransitionsForm() { $save_button->click(); $assert_session->assertWaitOnAjaxRequest(); $assert_session->waitForElementVisible('css', '#edit-transitions-modal-messages .messages'); - $assert_session->pageTextContains('Saved ' . $new_label . ' transition.'); - // @TODO assert ui elements get updated with the newly saved values. - // #edit-transitions-publish-label - // #edit-transitions-publish-from + $assert_session->elementTextContains('css', '#edit-transitions-modal-messages .messages', 'Saved ' . $new_label . ' transition.'); + $assert_session->elementTextContains('css', '#edit-transitions-publish-label', $new_label); + $assert_session->elementTextNotContains('css', '#edit-transitions-publish-from', 'Published'); - // @TODO Delete a transition. + // Delete a transition. + $this->click('#edit-transitions-container tr:contains(Create New Draft) button .dropbutton-arrow'); + $delete_button = $assert_session->waitForElementVisible('css', '#edit-transitions-container tr:contains(Create New Draft) a:contains(Delete)'); + $this->assertTrue($delete_button->isVisible(), 'Delete transition button found.'); + $delete_button->click(); + $assert_session->assertWaitOnAjaxRequest(); + $this->assertTrue($modal->isVisible(), 'Modal window found.'); + $delete_button = $assert_session->waitForElementVisible('css', '.ui-dialog-buttonpane .button--primary'); + $this->assertTrue($save_button->isVisible(), 'Delete button found.'); + $delete_button->click(); + $assert_session->assertWaitOnAjaxRequest(); + $assert_session->waitForElementVisible('css', '#edit-transitions-modal-messages .messages'); + $assert_session->elementTextContains('css', '#edit-transitions-modal-messages .messages', 'Create New Draft transition deleted.'); + $assert_session->elementNotExists('css', '#edit-transitions-container tr:contains(Create New Draft)'); } }