Loading core/modules/system/tests/modules/js_message_test/js_message_test.routing.yml +8 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,11 @@ js_message_test.links: _title: 'JsMessageLinks' requirements: _access: 'TRUE' js_message_test.links_with_system_messages: path: '/js_message_test_link_with_system_messages' defaults: _controller: '\Drupal\js_message_test\Controller\JSMessageTestController::messageLinksWithSystemMessages' _title: 'JsMessageLinks' requirements: _access: 'TRUE' core/modules/system/tests/modules/js_message_test/src/Controller/JSMessageTestController.php +16 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,22 @@ public static function getMessagesSelectors() { return ['', '[data-drupal-messages-other]']; } /** * Displays links to show messages via JavaScript with messages from backend. * * @return array * Render array for links. */ public function messageLinksWithSystemMessages() { // Add PHP rendered messages to the page. $messenger = \Drupal::messenger(); $messenger->addStatus('PHP Status'); $messenger->addWarning('PHP Warning'); $messenger->addError('PHP Error'); return $this->messageLinks(); } /** * Displays links to show messages via JavaScript. * Loading core/modules/system/tests/modules/olivero_test/olivero_test.module +0 −19 Original line number Diff line number Diff line Loading @@ -15,25 +15,6 @@ function olivero_test_preprocess_field_multiple_value_form(&$variables) { } } /** * Implements hook_preprocess(). */ function olivero_test_preprocess_page(&$variables) { $route = \Drupal::routeMatch()->getRouteName(); switch ($route) { case 'js_message_test.links': $messenger = \Drupal::messenger(); $messenger->addStatus('PHP Status'); $messenger->addWarning('PHP Warning'); $messenger->addError('PHP Error'); break; default: break; } } /** * Implements hook_preprocess_html(). */ Loading core/profiles/nightwatch_testing/nightwatch_testing.info.yml +1 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,4 @@ version: VERSION hidden: true install: - js_testing_log_test - nightwatch_theme_install_utility core/tests/Drupal/Nightwatch/Tests/Claro/claroDrupalMessageTest.js 0 → 100644 +101 −0 Original line number Diff line number Diff line const mainContent = '.region-content'; const mainMessagesContainer = '[data-drupal-messages] > .messages-list__wrapper'; const secondaryMessagesContainer = '[data-drupal-messages-other]'; const mainButtons = { addStatus: '#add--status', removeStatus: '#remove--status', addError: '#add--error', removeError: '#remove--error', addWarning: '#add--warning', removeWarning: '#remove--warning', clearAll: '#clear-all', }; const secondaryButtons = { addStatus: '[id="add-[data-drupal-messages-other]-status"]', removeStatus: '[id="remove-[data-drupal-messages-other]-status"]', addError: '[id="add-[data-drupal-messages-other]-error"]', removeError: '[id="remove-[data-drupal-messages-other]-error"]', addWarning: '[id="add-[data-drupal-messages-other]-warning"]', removeWarning: '[id="remove-[data-drupal-messages-other]-warning"]', }; module.exports = { '@tags': ['core', 'claro'], before(browser) { browser .drupalInstall() .drupalInstallModule('js_message_test') .drupalEnableTheme('claro'); }, after(browser) { browser.drupalUninstall(); }, 'Verify default placement of javascript-created messages': (browser) => { browser .drupalRelativeURL('/js_message_test_link_with_system_messages') .waitForElementVisible(mainContent) .assert.elementPresent(mainMessagesContainer) // We should load 3 messages on page load from \Drupal::messenger() .assert.elementCount(`${mainMessagesContainer} > .messages-list__item`, 3) // We should have one message of each type .assert.elementCount(`${mainMessagesContainer} > .messages--status`, 1) .assert.elementCount(`${mainMessagesContainer} > .messages--warning`, 1) .assert.elementCount(`${mainMessagesContainer} > .messages--error`, 1) // Trigger new messages via javascript .click(mainButtons.addStatus) .click(mainButtons.addWarning) .click(mainButtons.addError) // We should have 6 total messages .assert.elementCount(`${mainMessagesContainer} > .messages-list__item`, 6) // We should have 2 messages of each type .assert.elementCount(`${mainMessagesContainer} > .messages--status`, 2) .assert.elementCount(`${mainMessagesContainer} > .messages--warning`, 2) .assert.elementCount(`${mainMessagesContainer} > .messages--error`, 2); }, 'Verify customized placement of javascript-created messages': (browser) => { browser .drupalRelativeURL('/js_message_test_link_with_system_messages') .waitForElementVisible(mainContent) .assert.elementPresent(secondaryMessagesContainer) // We should load 3 messages on page load from \Drupal::messenger() .assert.elementCount( `${secondaryMessagesContainer} > .messages-list__item`, 0, ) // Trigger new messages via javascript .click(secondaryButtons.addStatus) .click(secondaryButtons.addWarning) .click(secondaryButtons.addError) // We should have 6 total messages .assert.elementCount( `${secondaryMessagesContainer} > .messages-list__item`, 3, ) // We should have 2 messages of each type .assert.elementCount( `${secondaryMessagesContainer} > .messages--status`, 1, ) .assert.elementCount( `${secondaryMessagesContainer} > .messages--warning`, 1, ) .assert.elementCount( `${secondaryMessagesContainer} > .messages--error`, 1, ); }, }; Loading
core/modules/system/tests/modules/js_message_test/js_message_test.routing.yml +8 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,11 @@ js_message_test.links: _title: 'JsMessageLinks' requirements: _access: 'TRUE' js_message_test.links_with_system_messages: path: '/js_message_test_link_with_system_messages' defaults: _controller: '\Drupal\js_message_test\Controller\JSMessageTestController::messageLinksWithSystemMessages' _title: 'JsMessageLinks' requirements: _access: 'TRUE'
core/modules/system/tests/modules/js_message_test/src/Controller/JSMessageTestController.php +16 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,22 @@ public static function getMessagesSelectors() { return ['', '[data-drupal-messages-other]']; } /** * Displays links to show messages via JavaScript with messages from backend. * * @return array * Render array for links. */ public function messageLinksWithSystemMessages() { // Add PHP rendered messages to the page. $messenger = \Drupal::messenger(); $messenger->addStatus('PHP Status'); $messenger->addWarning('PHP Warning'); $messenger->addError('PHP Error'); return $this->messageLinks(); } /** * Displays links to show messages via JavaScript. * Loading
core/modules/system/tests/modules/olivero_test/olivero_test.module +0 −19 Original line number Diff line number Diff line Loading @@ -15,25 +15,6 @@ function olivero_test_preprocess_field_multiple_value_form(&$variables) { } } /** * Implements hook_preprocess(). */ function olivero_test_preprocess_page(&$variables) { $route = \Drupal::routeMatch()->getRouteName(); switch ($route) { case 'js_message_test.links': $messenger = \Drupal::messenger(); $messenger->addStatus('PHP Status'); $messenger->addWarning('PHP Warning'); $messenger->addError('PHP Error'); break; default: break; } } /** * Implements hook_preprocess_html(). */ Loading
core/profiles/nightwatch_testing/nightwatch_testing.info.yml +1 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,4 @@ version: VERSION hidden: true install: - js_testing_log_test - nightwatch_theme_install_utility
core/tests/Drupal/Nightwatch/Tests/Claro/claroDrupalMessageTest.js 0 → 100644 +101 −0 Original line number Diff line number Diff line const mainContent = '.region-content'; const mainMessagesContainer = '[data-drupal-messages] > .messages-list__wrapper'; const secondaryMessagesContainer = '[data-drupal-messages-other]'; const mainButtons = { addStatus: '#add--status', removeStatus: '#remove--status', addError: '#add--error', removeError: '#remove--error', addWarning: '#add--warning', removeWarning: '#remove--warning', clearAll: '#clear-all', }; const secondaryButtons = { addStatus: '[id="add-[data-drupal-messages-other]-status"]', removeStatus: '[id="remove-[data-drupal-messages-other]-status"]', addError: '[id="add-[data-drupal-messages-other]-error"]', removeError: '[id="remove-[data-drupal-messages-other]-error"]', addWarning: '[id="add-[data-drupal-messages-other]-warning"]', removeWarning: '[id="remove-[data-drupal-messages-other]-warning"]', }; module.exports = { '@tags': ['core', 'claro'], before(browser) { browser .drupalInstall() .drupalInstallModule('js_message_test') .drupalEnableTheme('claro'); }, after(browser) { browser.drupalUninstall(); }, 'Verify default placement of javascript-created messages': (browser) => { browser .drupalRelativeURL('/js_message_test_link_with_system_messages') .waitForElementVisible(mainContent) .assert.elementPresent(mainMessagesContainer) // We should load 3 messages on page load from \Drupal::messenger() .assert.elementCount(`${mainMessagesContainer} > .messages-list__item`, 3) // We should have one message of each type .assert.elementCount(`${mainMessagesContainer} > .messages--status`, 1) .assert.elementCount(`${mainMessagesContainer} > .messages--warning`, 1) .assert.elementCount(`${mainMessagesContainer} > .messages--error`, 1) // Trigger new messages via javascript .click(mainButtons.addStatus) .click(mainButtons.addWarning) .click(mainButtons.addError) // We should have 6 total messages .assert.elementCount(`${mainMessagesContainer} > .messages-list__item`, 6) // We should have 2 messages of each type .assert.elementCount(`${mainMessagesContainer} > .messages--status`, 2) .assert.elementCount(`${mainMessagesContainer} > .messages--warning`, 2) .assert.elementCount(`${mainMessagesContainer} > .messages--error`, 2); }, 'Verify customized placement of javascript-created messages': (browser) => { browser .drupalRelativeURL('/js_message_test_link_with_system_messages') .waitForElementVisible(mainContent) .assert.elementPresent(secondaryMessagesContainer) // We should load 3 messages on page load from \Drupal::messenger() .assert.elementCount( `${secondaryMessagesContainer} > .messages-list__item`, 0, ) // Trigger new messages via javascript .click(secondaryButtons.addStatus) .click(secondaryButtons.addWarning) .click(secondaryButtons.addError) // We should have 6 total messages .assert.elementCount( `${secondaryMessagesContainer} > .messages-list__item`, 3, ) // We should have 2 messages of each type .assert.elementCount( `${secondaryMessagesContainer} > .messages--status`, 1, ) .assert.elementCount( `${secondaryMessagesContainer} > .messages--warning`, 1, ) .assert.elementCount( `${secondaryMessagesContainer} > .messages--error`, 1, ); }, };