Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / tests / Drupal / Nightwatch / Commands / drupalLogout.js
diff --git a/web/core/tests/Drupal/Nightwatch/Commands/drupalLogout.js b/web/core/tests/Drupal/Nightwatch/Commands/drupalLogout.js
new file mode 100644 (file)
index 0000000..6ab29e6
--- /dev/null
@@ -0,0 +1,36 @@
+import { execSync } from 'child_process';
+import { URL } from 'url';
+
+/**
+ * Logs out from a Drupal site.
+ *
+ * @param {object} [settings={}]
+ *   The settings object.
+ * @param {boolean} [settings.silent=false]
+ *   If the command should be run silently.
+ * @param {function} callback
+ *   A callback which will be called, when the logout is finished.
+ * @return {object}
+ *   The drupalLogout command.
+ */
+exports.command = function drupalLogout({ silent = false } = {}, callback) {
+  const self = this;
+
+  this.drupalRelativeURL('/user/logout');
+
+  this.drupalUserIsLoggedIn(sessionExists => {
+    if (silent) {
+      if (sessionExists) {
+        throw new Error('Logging out failed.');
+      }
+    } else {
+      this.assert.equal(sessionExists, false, 'The user was logged out.');
+    }
+  });
+
+  if (typeof callback === 'function') {
+    callback.call(self);
+  }
+
+  return this;
+};