Upgrade nightwatch and enhance tests (#1274)
- Upgrade Nightwatch + Selenium
- Remove deprecated nightwatch API's
- Update breaking change in nightwatch configuration
- Update assertion
- Fix clickWhenVisible by adding an optional scrollIntoView
diff --git a/app/addons/databases/tests/nightwatch/createsDatabase.js b/app/addons/databases/tests/nightwatch/createsDatabase.js
index 2371b69..1a6da87 100644
--- a/app/addons/databases/tests/nightwatch/createsDatabase.js
+++ b/app/addons/databases/tests/nightwatch/createsDatabase.js
@@ -19,7 +19,7 @@
'@tags': ['nonpartitioned'],
before: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(newDatabaseName).then(() => {
done();
}).catch(() => {
@@ -28,7 +28,7 @@
},
after: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(newDatabaseName).then(() => {
done();
}).catch(() => {
@@ -39,7 +39,7 @@
'Creates a Database' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -68,7 +68,7 @@
'Creates a Database with invalid name' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js b/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
index 93c3bf1..60d9896 100644
--- a/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
+++ b/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
@@ -19,7 +19,7 @@
'@tags': ['partitioned'],
before: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(newDatabaseName).then(() => {
done();
}).catch(() => {
@@ -28,7 +28,7 @@
},
after: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(newDatabaseName).then(() => {
done();
}).catch(() => {
@@ -39,7 +39,7 @@
'Creates a Database' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -69,7 +69,7 @@
'Creates a Database with invalid name' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/databases/tests/nightwatch/deletesDatabase.js b/app/addons/databases/tests/nightwatch/deletesDatabase.js
index e5723d8..9c6926d 100644
--- a/app/addons/databases/tests/nightwatch/deletesDatabase.js
+++ b/app/addons/databases/tests/nightwatch/deletesDatabase.js
@@ -16,7 +16,7 @@
'Deletes a database': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -34,7 +34,7 @@
'Deletes a database from the list': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -50,7 +50,7 @@
.closeNotifications()
.waitForElementPresent('.fauxton-table-list', waitTime, false)
.checkForDatabaseDeleted(newDatabaseName, waitTime)
- .assert.elementNotPresent('a[href="database/' + newDatabaseName + '/_all_docs"]')
+ .assert.not.elementPresent('a[href="database/' + newDatabaseName + '/_all_docs"]')
.end();
}
diff --git a/app/addons/databases/tests/nightwatch/deletesDatabaseSpecialChars.js b/app/addons/databases/tests/nightwatch/deletesDatabaseSpecialChars.js
index 3476b89..363dadd 100644
--- a/app/addons/databases/tests/nightwatch/deletesDatabaseSpecialChars.js
+++ b/app/addons/databases/tests/nightwatch/deletesDatabaseSpecialChars.js
@@ -15,7 +15,7 @@
module.exports = {
'Deletes a database with special chars': function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -34,7 +34,7 @@
'Deletes a database from the list with special chars': function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -50,7 +50,7 @@
.closeNotifications()
.waitForElementPresent('.fauxton-table-list', waitTime, false)
.checkForDatabaseDeleted(newDatabaseName, waitTime)
- .assert.elementNotPresent('a[href="database/' + newDatabaseName + '/_all_docs"]')
+ .assert.not.elementPresent('a[href="database/' + newDatabaseName + '/_all_docs"]')
.end();
}
diff --git a/app/addons/databases/tests/nightwatch/specialCharListLinks.js b/app/addons/databases/tests/nightwatch/specialCharListLinks.js
index 650410f..2cb3c57 100644
--- a/app/addons/databases/tests/nightwatch/specialCharListLinks.js
+++ b/app/addons/databases/tests/nightwatch/specialCharListLinks.js
@@ -29,7 +29,7 @@
return (client) => {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDatabase(db)
diff --git a/app/addons/documents/tests/nightwatch/bulkDelete.js b/app/addons/documents/tests/nightwatch/bulkDelete.js
index 9f88268..9016c05 100644
--- a/app/addons/documents/tests/nightwatch/bulkDelete.js
+++ b/app/addons/documents/tests/nightwatch/bulkDelete.js
@@ -19,7 +19,7 @@
newDatabaseName = client.globals.testDatabaseName,
newDocumentName1 = 'bulktest1',
newDocumentName2 = 'bulktest2',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -54,7 +54,7 @@
newDatabaseName = client.globals.testDatabaseName,
newDocumentName1 = 'bulktest1',
newDocumentName2 = 'bulktest2',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -86,7 +86,7 @@
'Select all works after changing the page': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/changes.js b/app/addons/documents/tests/nightwatch/changes.js
index 257ad64..88ccdd6 100644
--- a/app/addons/documents/tests/nightwatch/changes.js
+++ b/app/addons/documents/tests/nightwatch/changes.js
@@ -17,7 +17,7 @@
'Check doc link in Changes feed links properly': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/changesFilter.js b/app/addons/documents/tests/nightwatch/changesFilter.js
index 7fba318..9c05810 100644
--- a/app/addons/documents/tests/nightwatch/changesFilter.js
+++ b/app/addons/documents/tests/nightwatch/changesFilter.js
@@ -20,7 +20,7 @@
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/checkSidebarBehavior.js b/app/addons/documents/tests/nightwatch/checkSidebarBehavior.js
index 3261494..d485581 100644
--- a/app/addons/documents/tests/nightwatch/checkSidebarBehavior.js
+++ b/app/addons/documents/tests/nightwatch/checkSidebarBehavior.js
@@ -17,7 +17,7 @@
'Checks if design docs that have special chars in the ID show up in the UI and are clickable': function (client) {
const waitTime = 10000,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
const docNormal = 'ddoc_normal';
const docSpecialChars = 'ddoc_with.$pecialcharacters()+-';
const docSpecialCharsEncoded = 'ddoc_with.%24pecialcharacters()%2B-';
@@ -28,8 +28,8 @@
.url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs')
.waitForElementPresent('.nav-list', waitTime, false)
// Verify 'Metadata' subitem is not visible
- .assert.hidden('a[href="#/database/' + newDatabaseName + '/_design/' + docNormal + '/_info"]')
- .assert.hidden('a[href="#/database/' + newDatabaseName + '/_design/' + docSpecialCharsEncoded + '/_info"]')
+ .assert.not.visible('a[href="#/database/' + newDatabaseName + '/_design/' + docNormal + '/_info"]')
+ .assert.not.visible('a[href="#/database/' + newDatabaseName + '/_design/' + docSpecialCharsEncoded + '/_info"]')
// Click sidebar items and verify they expand
.clickWhenVisible('#nav-header-' + docNormal)
.assert.visible('a[href="#/database/' + newDatabaseName + '/_design/' + docNormal + '/_info"]')
diff --git a/app/addons/documents/tests/nightwatch/cloneDoc.js b/app/addons/documents/tests/nightwatch/cloneDoc.js
index 35c35cc..46503e9 100644
--- a/app/addons/documents/tests/nightwatch/cloneDoc.js
+++ b/app/addons/documents/tests/nightwatch/cloneDoc.js
@@ -17,7 +17,7 @@
const newDatabaseName = client.globals.testDatabaseName;
const newDocumentName = 'clone_doc_doc';
const clonedDocName = 'cloned/document';
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName, newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/createsDocument.js b/app/addons/documents/tests/nightwatch/createsDocument.js
index c13ffcc..3523f9e 100644
--- a/app/addons/documents/tests/nightwatch/createsDocument.js
+++ b/app/addons/documents/tests/nightwatch/createsDocument.js
@@ -18,7 +18,7 @@
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'create_doc_document',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -63,7 +63,7 @@
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = '_local/create_doc_document',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
@@ -112,7 +112,7 @@
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'a-create_doc_document',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js b/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
index 2f0649f..666cea9 100644
--- a/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
+++ b/app/addons/documents/tests/nightwatch/createsDocumentWithoutId.js
@@ -17,7 +17,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/deleteDatabaseModal.js b/app/addons/documents/tests/nightwatch/deleteDatabaseModal.js
index 40a6029..a52c8da 100644
--- a/app/addons/documents/tests/nightwatch/deleteDatabaseModal.js
+++ b/app/addons/documents/tests/nightwatch/deleteDatabaseModal.js
@@ -16,14 +16,14 @@
module.exports = {
before: function (client, done) {
- var nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ var nano = helpers.getNanoInstance(client.options.db_url);
nano.db.create('_replicator', function () {
done();
});
},
after: function (client, done) {
- var nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ var nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy('_replicator', function () {
done();
});
@@ -31,7 +31,7 @@
'Shows a warning for system databases (prefixed with _)': function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -49,7 +49,7 @@
'Shows no warning for non system databases': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -60,7 +60,7 @@
.waitForElementVisible('.delete-db-modal', waitTime, false)
.waitForElementVisible('.delete-db-modal input[type="text"]', waitTime, false)
- .assert.elementNotPresent('.warning')
+ .assert.not.elementPresent('.warning')
.end();
}
};
diff --git a/app/addons/documents/tests/nightwatch/deletesDocuments.js b/app/addons/documents/tests/nightwatch/deletesDocuments.js
index 536ca23..fd8bc38 100644
--- a/app/addons/documents/tests/nightwatch/deletesDocuments.js
+++ b/app/addons/documents/tests/nightwatch/deletesDocuments.js
@@ -17,7 +17,7 @@
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'delete_doc_doc',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName, newDatabaseName)
@@ -60,7 +60,7 @@
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'delete_doc_doc',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName, newDatabaseName)
@@ -99,7 +99,7 @@
'Deleting a new Design Doc automatically removes it from the sidebar': function (client) {
var waitTime = client.globals.maxWaitTime;
var newDatabaseName = client.globals.testDatabaseName;
- var baseUrl = client.globals.test_settings.launch_url;
+ var baseUrl = client.options.launch_url;
var designDoc = {
"_id": "_design/sidebar-update",
"views": {
@@ -122,9 +122,9 @@
// confirm the design doc appears in the sidebar
.waitForElementPresent('#sidebar-content span[title="_design/sidebar-update"]', waitTime, false)
- .waitForElementPresent('label[for="checkbox-_design/sidebar-update"]', waitTime, false)
+
.execute('document.querySelector("div[data-id=\'_design/sidebar-update\']").scrollIntoView();')
- .clickWhenVisible('label[for="checkbox-_design/sidebar-update"]', waitTime, false)
+ .clickWhenVisible('div[data-id="_design/sidebar-update"] label[for="checkbox-_design/sidebar-update"]', waitTime, false)
.waitForElementPresent('.bulk-action-component-selector-group .fonticon-trash', waitTime, false)
.execute('document.querySelector(".bulk-action-component-selector-group .fonticon-trash").scrollIntoView();')
@@ -140,7 +140,7 @@
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'delete_doc_doc',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName, newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/designConflicts.js b/app/addons/documents/tests/nightwatch/designConflicts.js
index bbeee91..9fdeac6 100644
--- a/app/addons/documents/tests/nightwatch/designConflicts.js
+++ b/app/addons/documents/tests/nightwatch/designConflicts.js
@@ -16,7 +16,7 @@
'Shows the editor for conflicting docs': function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createAnimalDb()
diff --git a/app/addons/documents/tests/nightwatch/designDocInfoPresent.js b/app/addons/documents/tests/nightwatch/designDocInfoPresent.js
index d87f2d9..62a5fed 100644
--- a/app/addons/documents/tests/nightwatch/designDocInfoPresent.js
+++ b/app/addons/documents/tests/nightwatch/designDocInfoPresent.js
@@ -16,7 +16,7 @@
'Design Doc Metadata present' : function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/doubleEmitResults.js b/app/addons/documents/tests/nightwatch/doubleEmitResults.js
index 5aa61cc..4c50e21 100644
--- a/app/addons/documents/tests/nightwatch/doubleEmitResults.js
+++ b/app/addons/documents/tests/nightwatch/doubleEmitResults.js
@@ -17,7 +17,7 @@
'View results with same id are all shown': function (client) {
var waitTime = client.globals.maxWaitTime;
var newDatabaseName = client.globals.testDatabaseName;
- var baseUrl = client.globals.test_settings.launch_url;
+ var baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js b/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
index 69a36a6..7b8c507 100644
--- a/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
+++ b/app/addons/documents/tests/nightwatch/editDocumentWithStringEditor.js
@@ -18,7 +18,7 @@
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'str_editor_document',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/editDocumentsFromView.js b/app/addons/documents/tests/nightwatch/editDocumentsFromView.js
index 7f87e0e..c4c9ecd 100644
--- a/app/addons/documents/tests/nightwatch/editDocumentsFromView.js
+++ b/app/addons/documents/tests/nightwatch/editDocumentsFromView.js
@@ -16,7 +16,7 @@
'Edit is allowed from default Map Views' : function (client) {
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url,
+ baseUrl = client.options.launch_url,
newDocumentName = '_design/abc',
ddocContents = {
"views": {
@@ -44,7 +44,7 @@
'Edit is not allowed for Map Views where reduce is checked' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const newDatabaseName = client.globals.testDatabaseName;
client
diff --git a/app/addons/documents/tests/nightwatch/encodingSupport.js b/app/addons/documents/tests/nightwatch/encodingSupport.js
index 79265ae..fcf0c23 100644
--- a/app/addons/documents/tests/nightwatch/encodingSupport.js
+++ b/app/addons/documents/tests/nightwatch/encodingSupport.js
@@ -14,7 +14,7 @@
'mango supports encoding': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = 'encoded/db-' + client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
@@ -31,7 +31,7 @@
'permissions supports encoding': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = 'encoded/db-' + client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
@@ -48,7 +48,7 @@
'changes supports encoding': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = 'encoded/db-' + client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/fixRegressionTableView.js b/app/addons/documents/tests/nightwatch/fixRegressionTableView.js
index 8e25616..f9fd491 100644
--- a/app/addons/documents/tests/nightwatch/fixRegressionTableView.js
+++ b/app/addons/documents/tests/nightwatch/fixRegressionTableView.js
@@ -18,7 +18,7 @@
var newDatabaseName = client.globals.testDatabaseName,
newDocumentName1 = 'bulktest1',
newDocumentName2 = 'bulktest2',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName1, newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/jsonView.js b/app/addons/documents/tests/nightwatch/jsonView.js
index bd72238..7fdb28c 100644
--- a/app/addons/documents/tests/nightwatch/jsonView.js
+++ b/app/addons/documents/tests/nightwatch/jsonView.js
@@ -4,7 +4,7 @@
var newDatabaseName = client.globals.testDatabaseName,
newDocumentName = 'bitterns',
waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
var docContent = {
"species": "American Bittern",
diff --git a/app/addons/documents/tests/nightwatch/mangoIndex.js b/app/addons/documents/tests/nightwatch/mangoIndex.js
index 6742063..7d9b791 100644
--- a/app/addons/documents/tests/nightwatch/mangoIndex.js
+++ b/app/addons/documents/tests/nightwatch/mangoIndex.js
@@ -19,7 +19,7 @@
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -38,7 +38,6 @@
var editor = ace.edit("query-field");\
editor.getSession().setValue(json);\
')
- .execute('document.querySelector("#create-index-btn").scrollIntoView();')
.clickWhenVisible('#create-index-btn')
.checkForStringPresent(newDatabaseName + '/_index', 'rocko-artischocko')
.checkForStringPresent(newDatabaseName + '/_index', 'gans_gans_mango')
@@ -50,7 +49,7 @@
'Deleting new named indexes with mango': function (client) {
var waitTime = 10000,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/mangoQuery.js b/app/addons/documents/tests/nightwatch/mangoQuery.js
index 22e794f..dc9054b 100644
--- a/app/addons/documents/tests/nightwatch/mangoQuery.js
+++ b/app/addons/documents/tests/nightwatch/mangoQuery.js
@@ -18,7 +18,7 @@
/*jshint multistr: true */
var waitTime = 10000,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -34,7 +34,6 @@
var editor = ace.edit("query-field");\
editor.getSession().setValue(json);\
')
- .execute('document.querySelector("#create-index-btn").scrollIntoView();')
.clickWhenVisible('#create-index-btn')
.clickWhenVisible('.fonticon-json')
diff --git a/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js b/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
index 24757e9..df3b30b 100644
--- a/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
+++ b/app/addons/documents/tests/nightwatch/navigateAfterEditingDocShouldShowAConfirmationBox.js
@@ -17,7 +17,7 @@
'Navigate to New Doc Page, editing and then clicking on the sidebar should show a confirmation dialog': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
var newLink = '#/database/' + newDatabaseName + '/_new';
@@ -31,7 +31,7 @@
.keys(['.ace_variable', 'v'])
.clickWhenVisible('a[href="#/activetasks"]')
- .accept_alert()
+ .acceptAlert()
.verify.urlEquals(baseUrl + '/#/activetasks');
}
};
diff --git a/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js b/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
index a3b4520..a65f93d 100644
--- a/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
+++ b/app/addons/documents/tests/nightwatch/navigateFromNewDoc.js
@@ -19,7 +19,7 @@
'Navigate to and from New Doc Page' : function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
var newLink = '/#/database/' + newDatabaseName + '/_new';
diff --git a/app/addons/documents/tests/nightwatch/navigateNotFoundDB.js b/app/addons/documents/tests/nightwatch/navigateNotFoundDB.js
index 02c4ab2..802ef3b 100644
--- a/app/addons/documents/tests/nightwatch/navigateNotFoundDB.js
+++ b/app/addons/documents/tests/nightwatch/navigateNotFoundDB.js
@@ -18,7 +18,7 @@
// a bug fix for where the Ace Editor threw a JS error preventing the subsequent page from loading]
'Navigate to a database that does not exist' : function (client) {
const waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/paginateAllDocs.js b/app/addons/documents/tests/nightwatch/paginateAllDocs.js
index 493d9c8..9455e1f 100644
--- a/app/addons/documents/tests/nightwatch/paginateAllDocs.js
+++ b/app/addons/documents/tests/nightwatch/paginateAllDocs.js
@@ -18,7 +18,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -50,7 +50,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -79,7 +79,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -110,7 +110,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/paginateView.js b/app/addons/documents/tests/nightwatch/paginateView.js
index d7c848a..7fe5250 100644
--- a/app/addons/documents/tests/nightwatch/paginateView.js
+++ b/app/addons/documents/tests/nightwatch/paginateView.js
@@ -17,7 +17,7 @@
'change number of items per page': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -53,7 +53,7 @@
'paginate to page two and back': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -89,7 +89,7 @@
'PerPage change resets to page 1': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
@@ -125,7 +125,7 @@
'paginate to page two and switch to json view': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/previousButton.js b/app/addons/documents/tests/nightwatch/previousButton.js
index aee4c52..6b70d78 100644
--- a/app/addons/documents/tests/nightwatch/previousButton.js
+++ b/app/addons/documents/tests/nightwatch/previousButton.js
@@ -13,7 +13,7 @@
module.exports = {
'Mango: Navigate back to _all_docs': function (client) {
const newDatabaseName = client.globals.testDatabaseName;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
diff --git a/app/addons/documents/tests/nightwatch/queryOptions.js b/app/addons/documents/tests/nightwatch/queryOptions.js
index 130ccee..e0cb801 100644
--- a/app/addons/documents/tests/nightwatch/queryOptions.js
+++ b/app/addons/documents/tests/nightwatch/queryOptions.js
@@ -18,7 +18,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
diff --git a/app/addons/documents/tests/nightwatch/queryOptionsCloseBug.js b/app/addons/documents/tests/nightwatch/queryOptionsCloseBug.js
index 67aba3a..8fd4ce2 100644
--- a/app/addons/documents/tests/nightwatch/queryOptionsCloseBug.js
+++ b/app/addons/documents/tests/nightwatch/queryOptionsCloseBug.js
@@ -18,7 +18,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
diff --git a/app/addons/documents/tests/nightwatch/replicateDatabaseButton.js b/app/addons/documents/tests/nightwatch/replicateDatabaseButton.js
index f1b399b..e13cd45 100644
--- a/app/addons/documents/tests/nightwatch/replicateDatabaseButton.js
+++ b/app/addons/documents/tests/nightwatch/replicateDatabaseButton.js
@@ -15,14 +15,14 @@
const testDbName = 'test_database';
module.exports = {
before: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.create(testDbName, function () {
done();
});
},
after: function (client, done) {
- const nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ const nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(testDbName, function () {
done();
});
@@ -30,7 +30,7 @@
'Shows correct view on replicate database': function (client) {
const waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
const srcDbSelector = '.replication__page .replication__section:nth-child(3) .replication__input-react-select .Select-value-label';
client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/resultsToolbar.js b/app/addons/documents/tests/nightwatch/resultsToolbar.js
index 6a6c95b..74c2e0f 100644
--- a/app/addons/documents/tests/nightwatch/resultsToolbar.js
+++ b/app/addons/documents/tests/nightwatch/resultsToolbar.js
@@ -14,7 +14,7 @@
'Defaults to metadata layout when displaying results': (client) => {
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = client.globals.testDatabaseName;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const newDocumentName = 'resultsToolbarTest';
const docContent = {
"foo": "bar"
@@ -28,14 +28,14 @@
.url(`${baseUrl}#/database/${newDatabaseName}/_all_docs`)
.waitForElementPresent('.two-sides-toggle-button', waitTime, false)
.assert.containsText('.two-sides-toggle-button button.active', 'Metadata')
- .assert.elementNotPresent('.table-container-autocomplete')
+ .assert.not.elementPresent('.table-container-autocomplete')
.end();
},
'Layouts update on manual url change/refresh and query options': (client) => {
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = client.globals.testDatabaseName;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const newDocumentName = 'resultsToolbarTest';
const docContent = {
"foo": "bar"
diff --git a/app/addons/documents/tests/nightwatch/revBrowser.js b/app/addons/documents/tests/nightwatch/revBrowser.js
index 716120a..bc0f363 100644
--- a/app/addons/documents/tests/nightwatch/revBrowser.js
+++ b/app/addons/documents/tests/nightwatch/revBrowser.js
@@ -17,7 +17,7 @@
/*jshint multistr: true */
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = 'animaldb';
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createAnimalDb()
@@ -49,7 +49,7 @@
.clickWhenVisible('[data-id="zebra"] a')
.waitForElementVisible('.panel-section', waitTime, false)
- .assert.elementNotPresent('button.conflicts')
+ .assert.not.elementPresent('button.conflicts')
.url(baseUrl + '/#/database/' + newDatabaseName + '?include_docs=true&conflicts=true')
@@ -63,7 +63,7 @@
/*jshint multistr: true */
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = 'animaldb';
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createAnimalDb()
@@ -95,7 +95,7 @@
.clickWhenVisible('[data-id="_design/animals"] a')
.waitForElementVisible('.panel-section', waitTime, false)
- .assert.elementNotPresent('button.conflicts')
+ .assert.not.elementPresent('button.conflicts')
.url(baseUrl + '/#/database/' + newDatabaseName + '?include_docs=true&conflicts=true')
diff --git a/app/addons/documents/tests/nightwatch/selectDocViaTypeahead.js b/app/addons/documents/tests/nightwatch/selectDocViaTypeahead.js
index a4b1974..b96340d 100644
--- a/app/addons/documents/tests/nightwatch/selectDocViaTypeahead.js
+++ b/app/addons/documents/tests/nightwatch/selectDocViaTypeahead.js
@@ -17,7 +17,7 @@
'Select doc via typeahead field redirects user': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
@@ -38,7 +38,7 @@
'Select doc works for capitalised id': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument('MY_CAP_DOC_ID', newDatabaseName, {value: 2})
diff --git a/app/addons/documents/tests/nightwatch/tableView.js b/app/addons/documents/tests/nightwatch/tableView.js
index 4648fb9..a5d3201 100644
--- a/app/addons/documents/tests/nightwatch/tableView.js
+++ b/app/addons/documents/tests/nightwatch/tableView.js
@@ -19,7 +19,7 @@
newDatabaseName = client.globals.testDatabaseName,
newDocumentName1 = 'bulktest1',
newDocumentName2 = 'bulktest2',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName1, newDatabaseName)
@@ -51,7 +51,7 @@
newDatabaseName = client.globals.testDatabaseName,
newDocumentName1 = 'bulktest1',
newDocumentName2 = 'bulktest2',
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDocument(newDocumentName1, newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/tableViewConflicts.js b/app/addons/documents/tests/nightwatch/tableViewConflicts.js
index ed4222a..2c994a6 100644
--- a/app/addons/documents/tests/nightwatch/tableViewConflicts.js
+++ b/app/addons/documents/tests/nightwatch/tableViewConflicts.js
@@ -17,7 +17,7 @@
'Shows how many conflicts have appeared': function (client) {
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = client.globals.testDatabaseName;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.populateDatabaseWithConflicts(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/viewClone.js b/app/addons/documents/tests/nightwatch/viewClone.js
index 5a17075..1d6bbff 100644
--- a/app/addons/documents/tests/nightwatch/viewClone.js
+++ b/app/addons/documents/tests/nightwatch/viewClone.js
@@ -15,7 +15,7 @@
'Clones a view': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/viewCreate.js b/app/addons/documents/tests/nightwatch/viewCreate.js
index d9d1295..aa83f64 100644
--- a/app/addons/documents/tests/nightwatch/viewCreate.js
+++ b/app/addons/documents/tests/nightwatch/viewCreate.js
@@ -25,9 +25,7 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { if (doc != \'\') { emit(\'blerg\'); } else { emit(\'nana\'); } }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
- .waitForElementPresent('#save-view', waitTime, false)
- .clickWhenVisible('#save-view', waitTime, false)
+ .clickWhenVisible('#save-view', waitTime)
.checkForDocumentCreated('_design/test_design_doc-selenium-0')
.waitForElementNotPresent('.loading-lines', waitTime, false)
.waitForElementPresent('.table-view-docs', waitTime, false)
@@ -48,9 +46,7 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(\'hasehase\'); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
- .waitForElementPresent('#save-view', waitTime, false)
- .clickWhenVisible('#save-view', waitTime, false)
+ .clickWhenVisible('#save-view', waitTime)
.checkForDocumentCreated('_design/test_design_doc-selenium-1')
.waitForElementNotPresent('.loading-lines', waitTime, false)
.waitForElementPresent('.table-view-docs', waitTime, false)
@@ -71,9 +67,7 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(\'hasehase\'); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
- .waitForElementPresent('#save-view', waitTime, false)
- .clickWhenVisible('#save-view', waitTime, false)
+ .clickWhenVisible('#save-view', waitTime)
.checkForDocumentCreated('_design/test_design_doc-selenium-3')
.waitForElementNotPresent('.loading-lines', waitTime, false)
@@ -96,8 +90,6 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(\'gansgans\'); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
- .waitForElementPresent('#save-view', waitTime, false)
.clickWhenVisible('#save-view')
.checkForDocumentCreated('_design/test_design_doc-selenium-2')
.waitForElementNotPresent('.loading-lines', waitTime, false)
@@ -108,7 +100,7 @@
'Adds a View to a DDoc using an existing DDoc': function (client) {
var waitTime = client.globals.maxWaitTime;
- var baseUrl = client.globals.test_settings.launch_url;
+ var baseUrl = client.options.launch_url;
var newDatabaseName = client.globals.testDatabaseName;
/*jshint multistr: true */
@@ -125,7 +117,6 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(\'enteente\', 1); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
.checkForDocumentCreated('_design/testdesigndoc/_view/test-new-view')
.waitForElementNotPresent('.loading-lines', waitTime, false)
@@ -138,7 +129,7 @@
function openDifferentDropdownsAndClick (client) {
var waitTime = client.globals.maxWaitTime;
var newDatabaseName = client.globals.testDatabaseName;
- var baseUrl = client.globals.test_settings.launch_url;
+ var baseUrl = client.options.launch_url;
return client
.loginToGUI()
diff --git a/app/addons/documents/tests/nightwatch/viewCreateBadView.js b/app/addons/documents/tests/nightwatch/viewCreateBadView.js
index 384406a..ddac11c 100644
--- a/app/addons/documents/tests/nightwatch/viewCreateBadView.js
+++ b/app/addons/documents/tests/nightwatch/viewCreateBadView.js
@@ -18,7 +18,7 @@
/*jshint multistr: true */
const waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -36,7 +36,6 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(\'boom\', doc._id); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
.closeNotifications()
.clickWhenVisible('.control-toggle-queryoptions', waitTime, false)
@@ -51,7 +50,7 @@
'Visit url of broken view displays error': function (client) {
const newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url,
+ baseUrl = client.options.launch_url,
waitTime = client.globals.maxWaitTime;
client
diff --git a/app/addons/documents/tests/nightwatch/viewDelete.js b/app/addons/documents/tests/nightwatch/viewDelete.js
index dcc148f..4959db4 100644
--- a/app/addons/documents/tests/nightwatch/viewDelete.js
+++ b/app/addons/documents/tests/nightwatch/viewDelete.js
@@ -17,7 +17,7 @@
'Deletes a view': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/documents/tests/nightwatch/viewEdit.js b/app/addons/documents/tests/nightwatch/viewEdit.js
index 8ff46d4..0032e00 100644
--- a/app/addons/documents/tests/nightwatch/viewEdit.js
+++ b/app/addons/documents/tests/nightwatch/viewEdit.js
@@ -17,7 +17,7 @@
'Edits a design doc - renames index': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
@@ -40,7 +40,6 @@
.clearValue('#index-name')
.setValue('#index-name', 'hasenindex5000')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
// confirm the new index name is present
@@ -52,7 +51,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
var viewUrl = newDatabaseName + '/_design/testdesigndoc/_view/stubview?limit=6&reduce=false';
@@ -81,7 +80,6 @@
editor.getSession().setValue("function (doc) { emit(\'hasehase6000\', 1); }");\
editor._emit(\'blur\');\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
.checkForStringPresent(viewUrl, 'hasehase6000')
@@ -104,7 +102,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
@@ -133,7 +131,6 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(doc._id, 100); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
.checkForDocumentCreated('_design/view1-name')
@@ -162,7 +159,6 @@
var editor = ace.edit("map-function");\
editor.getSession().setValue("function (doc) { emit(doc._id, 200); }");\
')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
.checkForDocumentCreated('_design/view2-name')
@@ -189,7 +185,7 @@
'Editing a view and putting it into a new design doc removes it from the old design doc': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.deleteDatabase(newDatabaseName)
@@ -229,7 +225,6 @@
.waitForElementPresent('#new-ddoc', waitTime, true)
.execute('document.querySelector("#new-ddoc").scrollIntoView();')
.setValue('#new-ddoc', 'brand-new-ddoc')
- .execute('document.querySelector("#save-view").scrollIntoView();')
.clickWhenVisible('#save-view')
// now wait for the old design doc to be gone, and the new one to have shown up
diff --git a/app/addons/documents/tests/nightwatch/viewQueryOptions.js b/app/addons/documents/tests/nightwatch/viewQueryOptions.js
index f5c7aa2..75743ef 100644
--- a/app/addons/documents/tests/nightwatch/viewQueryOptions.js
+++ b/app/addons/documents/tests/nightwatch/viewQueryOptions.js
@@ -17,7 +17,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
@@ -29,8 +29,8 @@
.clickWhenVisible('.query-options .btn-secondary')
.clickWhenVisible('.fonticon-json')
.waitForElementNotPresent('#doc-list [data-id="document_2"]', waitTime, false)
- .assert.elementNotPresent('#doc-list [data-id="document_2"]')
- .assert.elementNotPresent('#doc-list [data-id="document_0"]')
+ .assert.not.elementPresent('#doc-list [data-id="document_2"]')
+ .assert.not.elementPresent('#doc-list [data-id="document_0"]')
.assert.elementPresent('#doc-list [data-id="document_1"]')
.end();
},
@@ -39,7 +39,7 @@
/*jshint multistr: true */
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName, 3)
@@ -51,7 +51,7 @@
.clickWhenVisible('.query-options .btn-secondary')
.clickWhenVisible('.fonticon-json')
.waitForElementNotPresent('#doc-list [data-id="document_0"]', waitTime, false)
- .assert.elementNotPresent('#doc-list [data-id="document_0"]')
+ .assert.not.elementPresent('#doc-list [data-id="document_0"]')
.assert.elementPresent('#doc-list [data-id="document_1"]')
.end();
}
diff --git a/app/addons/fauxton/tests/nightwatch/highlightsidebar.js b/app/addons/fauxton/tests/nightwatch/highlightsidebar.js
index 585f39d..8dd1588 100644
--- a/app/addons/fauxton/tests/nightwatch/highlightsidebar.js
+++ b/app/addons/fauxton/tests/nightwatch/highlightsidebar.js
@@ -15,7 +15,7 @@
module.exports = {
'Highlight Sidebar' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/fauxton/tests/nightwatch/notificationCenter.js b/app/addons/fauxton/tests/nightwatch/notificationCenter.js
index 5df5e55..2738250 100644
--- a/app/addons/fauxton/tests/nightwatch/notificationCenter.js
+++ b/app/addons/fauxton/tests/nightwatch/notificationCenter.js
@@ -15,7 +15,7 @@
module.exports = {
'Notification Center' : function (client) {
var waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.url(baseUrl + '/#/login')
diff --git a/app/addons/fauxton/tests/nightwatch/updatesUrlsSameRouteobject.js b/app/addons/fauxton/tests/nightwatch/updatesUrlsSameRouteobject.js
index 39c3ca0..354ad39 100644
--- a/app/addons/fauxton/tests/nightwatch/updatesUrlsSameRouteobject.js
+++ b/app/addons/fauxton/tests/nightwatch/updatesUrlsSameRouteobject.js
@@ -15,7 +15,7 @@
'it updates the API url even for routes in the same routeobject' : function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.populateDatabase(newDatabaseName)
diff --git a/app/addons/permissions/tests/nightwatch/permissions.js b/app/addons/permissions/tests/nightwatch/permissions.js
index 2ce991d..a51db00 100644
--- a/app/addons/permissions/tests/nightwatch/permissions.js
+++ b/app/addons/permissions/tests/nightwatch/permissions.js
@@ -17,7 +17,7 @@
const waitTime = client.globals.maxWaitTime;
const newDatabaseName = client.globals.testDatabaseName;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/replication/tests/nightwatch/replication.js b/app/addons/replication/tests/nightwatch/replication.js
index 39f123a..d05673e 100644
--- a/app/addons/replication/tests/nightwatch/replication.js
+++ b/app/addons/replication/tests/nightwatch/replication.js
@@ -20,7 +20,7 @@
const docName2 = 'doc-name2';
const destroyDBsAndCreateReplicator = (client, done) => {
- var nano = helpers.getNanoInstance(client.globals.test_settings.db_url);
+ var nano = helpers.getNanoInstance(client.options.db_url);
nano.db.destroy(newDatabaseName1, () => {
nano.db.destroy(newDatabaseName2, () => {
nano.db.destroy(replicatedDBName, () => {
@@ -37,8 +37,8 @@
'Replicates existing local db to new local db' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
- const password = client.globals.test_settings.password;
+ const baseUrl = client.options.launch_url;
+ const password = client.options.password;
client
.createDatabase(newDatabaseName1)
@@ -86,8 +86,8 @@
'Replicates existing local db to existing local db' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
- const password = client.globals.test_settings.password;
+ const baseUrl = client.options.launch_url;
+ const password = client.options.password;
client
@@ -144,8 +144,8 @@
'Replicates using existing doc id' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
- const password = client.globals.test_settings.password;
+ const baseUrl = client.options.launch_url;
+ const password = client.options.password;
const replicatorDoc = {
_id: 'existing-doc-id',
@@ -214,7 +214,7 @@
'Show error for missing credentials' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName1)
@@ -246,7 +246,7 @@
'Show error for invalid credentials' : function (client) {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName1)
diff --git a/app/addons/replication/tests/nightwatch/replicationactivity.js b/app/addons/replication/tests/nightwatch/replicationactivity.js
index 3a6bfa5..e32cfe8 100644
--- a/app/addons/replication/tests/nightwatch/replicationactivity.js
+++ b/app/addons/replication/tests/nightwatch/replicationactivity.js
@@ -15,7 +15,7 @@
'Can view doc': client => {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const replicatorDoc = {
_id: 'existing-doc-id-view-doc',
@@ -38,7 +38,7 @@
'Can edit doc': client => {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const replicatorDoc = {
_id: 'existing-doc-id-edit-doc',
@@ -63,7 +63,7 @@
'Can filter docs': client => {
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const replicatorDoc1 = {
_id: 'existing-doc-id-filter1',
@@ -94,7 +94,7 @@
},
"Action click doesn't change doc's order": client =>{
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
const firstRowSelector = '.replication__table-row:nth-of-type(1)';
let firstDoc;
diff --git a/app/addons/search/tests/nightwatch/cloneSearchIndex.js b/app/addons/search/tests/nightwatch/cloneSearchIndex.js
index 44e194d..afb5468 100644
--- a/app/addons/search/tests/nightwatch/cloneSearchIndex.js
+++ b/app/addons/search/tests/nightwatch/cloneSearchIndex.js
@@ -15,7 +15,7 @@
'Clones a search index': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.createDatabase(newDatabaseName)
diff --git a/app/addons/search/tests/nightwatch/createNewSearch.js b/app/addons/search/tests/nightwatch/createNewSearch.js
index 270432c..3bbec97 100644
--- a/app/addons/search/tests/nightwatch/createNewSearch.js
+++ b/app/addons/search/tests/nightwatch/createNewSearch.js
@@ -15,7 +15,7 @@
/*jshint multistr: true */
var newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
var searchFunctionString = function (append) {
return 'function (doc) {' +
@@ -42,7 +42,6 @@
editor.getSession().setValue("' + searchFunctionString(0) + '");\
')
- .execute('document.querySelector("#save-index").scrollIntoView();')
.clickWhenVisible('#save-index')
.waitForElementPresent('#keyview_fancy_search', client.globals.maxWaitTime, false)
.end();
@@ -50,7 +49,7 @@
'Creating a new index has a clean slate': function (client) {
var newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -83,7 +82,7 @@
'Adding two indexes in a row does not add multiple indexes': function (client) {
var newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
diff --git a/app/addons/search/tests/nightwatch/deleteSearchIndex.js b/app/addons/search/tests/nightwatch/deleteSearchIndex.js
index d847c43..f25d583 100644
--- a/app/addons/search/tests/nightwatch/deleteSearchIndex.js
+++ b/app/addons/search/tests/nightwatch/deleteSearchIndex.js
@@ -15,7 +15,7 @@
'Deletes a search index': function (client) {
var newDatabaseName = client.globals.testDatabaseName,
waitTime = client.globals.maxWaitTime,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
.loginToGUI()
@@ -51,7 +51,7 @@
'Deleting view when design doc has search index does not remove design doc': function (client) {
var waitTime = client.globals.maxWaitTime,
newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
client
// this creates a view
diff --git a/app/addons/search/tests/nightwatch/searchPageApiBar.js b/app/addons/search/tests/nightwatch/searchPageApiBar.js
index d8e70b9..d23ed8c 100644
--- a/app/addons/search/tests/nightwatch/searchPageApiBar.js
+++ b/app/addons/search/tests/nightwatch/searchPageApiBar.js
@@ -13,7 +13,7 @@
'@tags': ['search'],
'Check API Bar is present/hidden on appropriate page and is encoded': function (client) {
const newDatabaseName = client.globals.testDatabaseName,
- baseUrl = client.globals.test_settings.launch_url;
+ baseUrl = client.options.launch_url;
const searchStr = "class:bird";
const searchStrEncoded = encodeURIComponent(searchStr);
@@ -32,7 +32,7 @@
// confirm there's no API URL field on the create index page
.pause(5000)
- .assert.elementNotPresent('.faux__jsonlink')
+ .assert.not.elementPresent('.faux__jsonlink')
// now create the rest of the index
.keys(['_design/keyview', '\uE006'])
diff --git a/docker/dc.selenium-debug.yml b/docker/dc.selenium-debug.yml
index 45eac62..cba3c54 100644
--- a/docker/dc.selenium-debug.yml
+++ b/docker/dc.selenium-debug.yml
@@ -5,7 +5,7 @@
file: './dc.selenium.yml'
service: selenium
container_name: selenium
- image: selenium/standalone-chrome-debug:3.13
+ image: selenium/standalone-chrome-debug:3.141.59
ports:
- "4444:4444"
- "5900:5900"
diff --git a/docker/dc.selenium.yml b/docker/dc.selenium.yml
index 6c2f033..0061bed 100644
--- a/docker/dc.selenium.yml
+++ b/docker/dc.selenium.yml
@@ -2,7 +2,7 @@
services:
selenium:
container_name: selenium
- image: selenium/standalone-chrome:3.13
+ image: selenium/standalone-chrome:3.141.59
ports:
- "4444:4444"
couchdb:
diff --git a/package-lock.json b/package-lock.json
index f33b034..65feb76 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3014,21 +3014,12 @@
"dev": true
},
"agent-base": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+ "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
"dev": true,
"requires": {
- "extend": "~3.0.0",
- "semver": "~5.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
- "dev": true
- }
+ "es6-promisify": "^5.0.0"
}
},
"ajv": {
@@ -3331,9 +3322,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assertion-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
- "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true
},
"assign-symbols": {
@@ -3342,9 +3333,9 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
},
"ast-types": {
- "version": "0.11.5",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz",
- "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==",
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz",
+ "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==",
"dev": true
},
"astral-regex": {
@@ -3852,10 +3843,11 @@
}
},
"browser-stdout": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
- "dev": true
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+ "dev": true,
+ "optional": true
},
"browserify-aes": {
"version": "1.2.0",
@@ -4115,13 +4107,21 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chai-nightwatch": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
- "integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz",
+ "integrity": "sha512-1xw74vR02XiHzo4wQfHqme2nqYPIzYnK5s3DMST7UW8FIHDWD7qplg+DTJ5FIPcmWiGYX/Re0CzvOcZQKJm1Uw==",
"dev": true,
"requires": {
"assertion-error": "1.0.0",
"deep-eql": "0.1.3"
+ },
+ "dependencies": {
+ "assertion-error": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+ "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
+ "dev": true
+ }
}
},
"chalk": {
@@ -4256,6 +4256,12 @@
"restore-cursor": "^3.1.0"
}
},
+ "cli-spinners": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz",
+ "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==",
+ "dev": true
+ },
"cli-width": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
@@ -5084,6 +5090,23 @@
"ip-regex": "^2.1.0"
}
},
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ }
+ }
+ },
"define-properties": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
@@ -5402,6 +5425,12 @@
"domelementtype": "1"
}
},
+ "dotenv": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz",
+ "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==",
+ "dev": true
+ },
"duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -5428,9 +5457,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ejs": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
- "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
+ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
"dev": true
},
"electron-to-chromium": {
@@ -5665,6 +5694,21 @@
"resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz",
"integrity": "sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8="
},
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "^4.0.3"
+ }
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -6994,6 +7038,25 @@
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
},
+ "flat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
+ "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-buffer": "~2.0.3"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
"flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -7755,14 +7818,14 @@
}
},
"get-uri": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz",
- "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz",
+ "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==",
"dev": true,
"requires": {
"data-uri-to-buffer": "1",
"debug": "2",
- "extend": "3",
+ "extend": "~3.0.2",
"file-uri-to-path": "1",
"ftp": "~0.3.10",
"readable-stream": "2"
@@ -7970,17 +8033,12 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg=="
},
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
"growl": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
- "dev": true
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "dev": true,
+ "optional": true
},
"growly": {
"version": "1.3.0",
@@ -11319,14 +11377,24 @@
}
},
"http-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
- "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
+ "agent-base": "4",
+ "debug": "3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"http-proxy-middleware": {
@@ -11368,14 +11436,30 @@
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
},
"https-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
+ "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"iconv-lite": {
@@ -11740,9 +11824,9 @@
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
},
"ip": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
- "integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
},
"ip-regex": {
@@ -11892,6 +11976,12 @@
"is-extglob": "^2.1.1"
}
},
+ "is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "dev": true
+ },
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -13284,12 +13374,6 @@
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
- "lodash._basecreate": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
- "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
- "dev": true
- },
"lodash._basefor": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
@@ -13314,12 +13398,6 @@
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
- "lodash._stack": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
- "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
- "dev": true
- },
"lodash.clone": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
@@ -13331,38 +13409,11 @@
"lodash._isiterateecall": "^3.0.0"
}
},
- "lodash.create": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
- "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
- "dev": true,
- "requires": {
- "lodash._baseassign": "^3.0.0",
- "lodash._basecreate": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0"
- }
- },
"lodash.defaultsdeep": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
- "integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
- "dev": true,
- "requires": {
- "lodash._baseclone": "^4.0.0",
- "lodash._stack": "^4.0.0",
- "lodash.isplainobject": "^4.0.0",
- "lodash.keysin": "^4.0.0",
- "lodash.mergewith": "^4.0.0",
- "lodash.rest": "^4.0.0"
- },
- "dependencies": {
- "lodash._baseclone": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
- "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=",
- "dev": true
- }
- }
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
+ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==",
+ "dev": true
},
"lodash.escape": {
"version": "4.0.1",
@@ -13422,22 +13473,10 @@
"lodash.isarray": "^3.0.0"
}
},
- "lodash.keysin": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
- "integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=",
- "dev": true
- },
- "lodash.mergewith": {
+ "lodash.merge": {
"version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
- "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
- "dev": true
- },
- "lodash.rest": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
- "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
"lodash.sortby": {
@@ -13446,6 +13485,16 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
"loglevel": {
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz",
@@ -13908,97 +13957,160 @@
"integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
"dev": true
},
- "mocha-nightwatch": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
- "integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
+ "mocha": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz",
+ "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==",
"dev": true,
+ "optional": true,
"requires": {
- "browser-stdout": "1.3.0",
- "commander": "2.9.0",
- "debug": "2.2.0",
- "diff": "1.4.0",
+ "ansi-colors": "3.2.3",
+ "browser-stdout": "1.3.1",
+ "debug": "3.2.6",
+ "diff": "3.5.0",
"escape-string-regexp": "1.0.5",
- "glob": "7.0.5",
- "growl": "1.9.2",
- "json3": "3.3.2",
- "lodash.create": "3.1.1",
- "mkdirp": "0.5.1",
- "supports-color": "3.1.2"
+ "find-up": "3.0.0",
+ "glob": "7.1.3",
+ "growl": "1.10.5",
+ "he": "1.2.0",
+ "js-yaml": "3.13.1",
+ "log-symbols": "2.2.0",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.4",
+ "ms": "2.1.1",
+ "node-environment-flags": "1.0.5",
+ "object.assign": "4.1.0",
+ "strip-json-comments": "2.0.1",
+ "supports-color": "6.0.0",
+ "which": "1.3.1",
+ "wide-align": "1.1.3",
+ "yargs": "13.3.2",
+ "yargs-parser": "13.1.2",
+ "yargs-unparser": "1.6.0"
},
"dependencies": {
- "commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
"dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "optional": true
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
+ "optional": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "^2.1.1"
}
},
- "diff": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
- "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
- "dev": true
- },
"glob": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
- "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
+ "optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.2",
+ "minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
+ "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
"dev": true,
+ "optional": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "^1.2.5"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
- "dev": true
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true,
+ "optional": true
},
"supports-color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
+ "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
"dev": true,
+ "optional": true,
"requires": {
- "has-flag": "^1.0.0"
+ "has-flag": "^3.0.0"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
}
}
}
@@ -14244,36 +14356,106 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
"nightwatch": {
- "version": "0.9.21",
- "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.21.tgz",
- "integrity": "sha1-nnlKdRS0/V9GYC02jlBRUjKrnpA=",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.3.4.tgz",
+ "integrity": "sha512-27zWPjmBsHu3IDKc6QTQdRKbTWx4WuTUXbCOT1Wa8Ovxbv+3TZ7GCd9Dt9wm14ElO9Db9/PKVk8JIWThkqGRZA==",
"dev": true,
"requires": {
- "chai-nightwatch": "~0.1.x",
- "ejs": "2.5.7",
+ "assertion-error": "^1.1.0",
+ "chai-nightwatch": "^0.4.0",
+ "dotenv": "7.0.0",
+ "ejs": "^2.5.9",
+ "is-ci": "^2.0.0",
"lodash.clone": "3.0.3",
- "lodash.defaultsdeep": "4.3.2",
- "minimatch": "3.0.3",
+ "lodash.defaultsdeep": "^4.6.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "3.0.4",
"mkpath": "1.0.0",
- "mocha-nightwatch": "3.2.2",
- "optimist": "0.6.1",
- "proxy-agent": "2.0.0",
- "q": "1.4.1"
+ "mocha": "^6.2.2",
+ "optimist": "^0.6.1",
+ "ora": "^4.0.2",
+ "proxy-agent": "^3.1.1",
+ "request": "^2.88.0",
+ "request-promise": "^4.2.4",
+ "semver": "^6.3.0"
},
"dependencies": {
- "minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+ "aws4": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
"dev": true,
"requires": {
- "brace-expansion": "^1.0.0"
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
}
},
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+ "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
}
}
@@ -14349,6 +14531,26 @@
"lower-case": "^1.1.1"
}
},
+ "node-environment-flags": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
+ "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "object.getownpropertydescriptors": "^2.0.3",
+ "semver": "^5.7.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
"node-fetch": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
@@ -14841,6 +15043,150 @@
"wordwrap": "~1.0.0"
}
},
+ "ora": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz",
+ "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.2.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^3.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"original": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
@@ -14948,41 +15294,49 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"pac-proxy-agent": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
- "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz",
+ "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3",
- "get-uri": "2",
- "http-proxy-agent": "1",
- "https-proxy-agent": "1",
- "pac-resolver": "~2.0.0",
- "raw-body": "2",
- "socks-proxy-agent": "2"
+ "agent-base": "^4.2.0",
+ "debug": "^4.1.1",
+ "get-uri": "^2.0.0",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^3.0.0",
+ "pac-resolver": "^3.0.0",
+ "raw-body": "^2.2.0",
+ "socks-proxy-agent": "^4.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"pac-resolver": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
- "integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz",
+ "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==",
"dev": true,
"requires": {
- "co": "~3.0.6",
- "degenerator": "~1.0.2",
- "ip": "1.0.1",
- "netmask": "~1.0.4",
- "thunkify": "~2.1.1"
- },
- "dependencies": {
- "co": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
- "integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=",
- "dev": true
- }
+ "co": "^4.6.0",
+ "degenerator": "^1.0.4",
+ "ip": "^1.1.5",
+ "netmask": "^1.0.6",
+ "thunkify": "^2.1.2"
}
},
"pako": {
@@ -15720,29 +16074,44 @@
}
},
"proxy-agent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
- "integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz",
+ "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3",
- "http-proxy-agent": "1",
- "https-proxy-agent": "1",
- "lru-cache": "~2.6.5",
- "pac-proxy-agent": "1",
- "socks-proxy-agent": "2"
+ "agent-base": "^4.2.0",
+ "debug": "4",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^3.0.0",
+ "lru-cache": "^5.1.1",
+ "pac-proxy-agent": "^3.0.1",
+ "proxy-from-env": "^1.0.0",
+ "socks-proxy-agent": "^4.0.1"
},
"dependencies": {
- "lru-cache": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
- "integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=",
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
},
+ "proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true
+ },
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -15890,17 +16259,23 @@
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"raw-body": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
- "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz",
+ "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==",
"dev": true,
"requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.23",
+ "bytes": "3.1.0",
+ "http-errors": "1.7.3",
+ "iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
"dependencies": {
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "dev": true
+ },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -15908,30 +16283,37 @@
"dev": true
},
"http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+ "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"dev": true,
"requires": {
"depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
}
},
"iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
"setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
},
"statuses": {
@@ -16797,6 +17179,18 @@
"uuid": "^3.1.0"
}
},
+ "request-promise": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz",
+ "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.5.0",
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ }
+ },
"request-promise-core": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
@@ -17418,9 +17812,9 @@
}
},
"smart-buffer": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
- "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
+ "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
"dev": true
},
"snapdragon": {
@@ -17561,32 +17955,34 @@
}
},
"socks": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
- "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
+ "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
"dev": true,
"requires": {
- "ip": "^1.1.4",
- "smart-buffer": "^1.0.13"
- },
- "dependencies": {
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- }
+ "ip": "1.1.5",
+ "smart-buffer": "^4.1.0"
}
},
"socks-proxy-agent": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
- "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
+ "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
"dev": true,
"requires": {
- "agent-base": "2",
- "extend": "3",
- "socks": "~1.1.5"
+ "agent-base": "~4.2.1",
+ "socks": "~2.3.2"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "dev": true,
+ "requires": {
+ "es6-promisify": "^5.0.0"
+ }
+ }
}
},
"sort-keys": {
@@ -17898,6 +18294,17 @@
"strip-ansi": "^4.0.0"
}
},
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
"string.prototype.matchall": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz",
@@ -19207,6 +19614,15 @@
"minimalistic-assert": "^1.0.0"
}
},
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
@@ -19914,6 +20330,16 @@
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -20080,6 +20506,68 @@
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
+ },
+ "yargs-unparser": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
+ "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "flat": "^4.1.0",
+ "lodash": "^4.17.15",
+ "yargs": "^13.3.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
+ }
+ }
+ }
}
}
}
diff --git a/package.json b/package.json
index 9f4406e..b358a38 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"fetch-mock": "^9.4.0",
"jest": "^24.9.0",
"mock-local-storage": "^1.1.7",
- "nightwatch": "^0.9.20",
+ "nightwatch": "^1.3.4",
"redux-devtools": "^3.5.0",
"redux-mock-store": "^1.5.3",
"sinon": "^7.1.1"
diff --git a/settings.json.default.json b/settings.json.default.json
index 9bd9cf2..d11150f 100644
--- a/settings.json.default.json
+++ b/settings.json.default.json
@@ -82,7 +82,7 @@
"db_host": "localhost",
"db_port": "5984",
"custom_commands_path": ["test/nightwatch_tests/custom-commands", "test/nightwatch_tests/custom-commands/auth"],
- "globals_path": "test/nightwatch_tests/helpers/helpers.js",
+ "globals_path": "./helpers/helpers.js",
"selenium_port": "4444"
}
}
diff --git a/test/nightwatch_tests/custom-commands/auth/loginToGUI.js b/test/nightwatch_tests/custom-commands/auth/loginToGUI.js
index 905b76f..eb14595 100644
--- a/test/nightwatch_tests/custom-commands/auth/loginToGUI.js
+++ b/test/nightwatch_tests/custom-commands/auth/loginToGUI.js
@@ -16,10 +16,10 @@
const client = this;
const waitTime = client.globals.maxWaitTime;
- const baseUrl = client.globals.test_settings.launch_url;
+ const baseUrl = client.options.launch_url;
- const username = user || client.globals.test_settings.fauxton_username;
- const password = pw || client.globals.test_settings.password;
+ const username = user || client.options.fauxton_username;
+ const password = pw || client.options.password;
client
.resizeWindow(1200, 1200)
diff --git a/test/nightwatch_tests/custom-commands/clickWhenVisible.js b/test/nightwatch_tests/custom-commands/clickWhenVisible.js
index 1c604ed..b7953e3 100644
--- a/test/nightwatch_tests/custom-commands/clickWhenVisible.js
+++ b/test/nightwatch_tests/custom-commands/clickWhenVisible.js
@@ -10,19 +10,23 @@
// License for the specific language governing permissions and limitations under
// the License.
-var helpers = require('../helpers/helpers.js');
+const helpers = require('../helpers/helpers.js');
-exports.command = function (element, waitTime) {
+exports.command = function(element, waitTime, scrollIntoView = true) {
if (waitTime === undefined) {
waitTime = helpers.maxWaitTime;
}
- this
- .waitForElementPresent(element, waitTime, false)
- .moveToElement(element, 10, 10)
- .waitForElementVisible(element, waitTime, false)
- .click(element);
+ this.waitForElementVisible(element);
+
+ if (scrollIntoView) {
+ this.execute(function(selector) {
+ document.querySelector(selector).scrollIntoView();
+ }, [element]);
+ }
+
+ this.pause(200).click(element);
return this;
};
diff --git a/test/nightwatch_tests/custom-commands/closeNotifications.js b/test/nightwatch_tests/custom-commands/closeNotifications.js
index ba9fd7c..0116366 100644
--- a/test/nightwatch_tests/custom-commands/closeNotifications.js
+++ b/test/nightwatch_tests/custom-commands/closeNotifications.js
@@ -18,7 +18,7 @@
client
.waitForElementVisible(dismissSelector, helpers.maxWaitTime, false)
- .keys(client.keys.ESCAPE)
+ .keys(client.Keys.ESCAPE)
.waitForElementNotPresent(dismissSelector, helpers.maxWaitTime, false);
return this;
diff --git a/test/nightwatch_tests/custom-commands/waitForAttribute.js b/test/nightwatch_tests/custom-commands/waitForAttribute.js
index ae2d0dd..d4ec0dd 100644
--- a/test/nightwatch_tests/custom-commands/waitForAttribute.js
+++ b/test/nightwatch_tests/custom-commands/waitForAttribute.js
@@ -17,10 +17,11 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
-
-var util = require('util');
-var events = require('events');
-var helpers = require('../helpers/helpers.js');
+
+const util = require('util');
+const events = require('events');
+const helpers = require('../helpers/helpers.js');
+const assert = require('assert');
/*
* This custom command allows us to locate an HTML element on the page and then wait until the value of a specified
@@ -36,38 +37,45 @@
util.inherits(WaitForAttribute, events.EventEmitter);
-WaitForAttribute.prototype.command = function (element, attribute, checker, timeoutInMilliseconds) {
+WaitForAttribute.prototype.command = function(
+ element, attribute, checker, timeoutInMilliseconds) {
this.startTimeInMilliseconds = new Date().getTime();
- var self = this;
- var message;
+ const self = this;
+ let message;
if (typeof timeoutInMilliseconds !== 'number') {
timeoutInMilliseconds = helpers.maxWaitTime;
}
- this.check(element, attribute, checker, function (result, loadedTimeInMilliseconds) {
- if (result) {
- message = 'waitForAttribute: ' + element + '@' + attribute + '. Expression was true after ' + (loadedTimeInMilliseconds - self.startTimeInMilliseconds) + ' ms.';
- } else {
- message = 'waitForAttribute: ' + element + '@' + attribute + '. Expression wasn\'t true in ' + timeoutInMilliseconds + ' ms.';
- }
- self.client.assertion(result, 'expression false', 'expression true', message, true);
- self.emit('complete');
- }, timeoutInMilliseconds);
+ this.check(element, attribute, checker,
+ function(result, loadedTimeInMilliseconds) {
+ if (result) {
+ message = 'waitForAttribute: ' + element + '@' + attribute +
+ '. Expression was true after ' +
+ (loadedTimeInMilliseconds - self.startTimeInMilliseconds) + ' ms.';
+ } else {
+ message = 'waitForAttribute: ' + element + '@' + attribute +
+ '. Expression wasn\'t true in ' + timeoutInMilliseconds + ' ms.';
+ }
+ assert.equal(result, true, message);
+ self.emit('complete');
+ }, timeoutInMilliseconds);
return this;
};
-WaitForAttribute.prototype.check = function (element, attribute, checker, callback, maxTimeInMilliseconds) {
- var self = this;
+WaitForAttribute.prototype.check = function(
+ element, attribute, checker, callback, maxTimeInMilliseconds) {
+ const self = this;
- this.api.getAttribute(element, attribute, function (result) {
- var now = new Date().getTime();
+ this.api.getAttribute(element, attribute, function(result) {
+ const now = new Date().getTime();
if (result.status === 0 && checker(result.value)) {
callback(true, now);
} else if (now - self.startTimeInMilliseconds < maxTimeInMilliseconds) {
- setTimeout(function () {
- self.check(element, attribute, checker, callback, maxTimeInMilliseconds);
+ setTimeout(function() {
+ self.check(element, attribute, checker, callback,
+ maxTimeInMilliseconds);
}, 100);
} else {
callback(false);
diff --git a/test/nightwatch_tests/helpers/helpers.js b/test/nightwatch_tests/helpers/helpers.js
index f2391ef..817c22d 100644
--- a/test/nightwatch_tests/helpers/helpers.js
+++ b/test/nightwatch_tests/helpers/helpers.js
@@ -40,7 +40,7 @@
},
beforeEach: function (browser, done) {
- var nano = module.exports.getNanoInstance(browser.globals.test_settings.db_url),
+ var nano = module.exports.getNanoInstance(browser.options.db_url),
database = module.exports.testDatabaseName;
console.log('nano setting up database', database);
@@ -57,7 +57,7 @@
// Create required dbs
const databaseToCreate = ["_users", "_replicator", "_global_changes"];
const promises = databaseToCreate.map(db => createDatabase(nano, db).catch(() => {}));
-
+
Promise.all(promises).then(function () {
done();
}).catch(function (err) {
@@ -70,7 +70,7 @@
afterEach: function (browser, done) {
// Delete test database
- var nano = module.exports.getNanoInstance(browser.globals.test_settings.db_url),
+ var nano = module.exports.getNanoInstance(browser.options.db_url),
database = module.exports.testDatabaseName;
console.log('nano cleaning up', database);
diff --git a/test/nightwatch_tests/nightwatch.json.underscore b/test/nightwatch_tests/nightwatch.json.underscore
index 524e0e7..8a9bb30 100644
--- a/test/nightwatch_tests/nightwatch.json.underscore
+++ b/test/nightwatch_tests/nightwatch.json.underscore
@@ -7,6 +7,10 @@
"custom_assertions_path" : "",
"live_output" : false,
+ "webdriver": {
+ "ssl": false,
+ "password": "<%- password %>"
+ },
"selenium" : {
"start_process" : false,
"server_path" : "",
@@ -39,7 +43,10 @@
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
- "acceptSslCerts" : true
+ "acceptSslCerts" : true,
+ "chromeOptions": {
+ "w3c": false
+ }
},
"exclude": <%= exclude_tests %>,
"skiptags": <%= skiptags %>
@@ -61,7 +68,6 @@
"selenium_port" : 80,
"username" : "${SAUCE_USERNAME}",
"access_key" : "${SAUCE_ACCESS_KEY}",
- "use_ssl" : false,
"silent" : true,
"output" : true,
"screenshots" : {