blob: e32cfe8a5108f3fcb990ba2782daf12ca939da4f [file] [log] [blame]
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
module.exports = {
'Can view doc': client => {
const waitTime = client.globals.maxWaitTime;
const baseUrl = client.options.launch_url;
const replicatorDoc = {
_id: 'existing-doc-id-view-doc',
source: "http://source-db.com",
target: "http://target-db.com"
};
client
.deleteDatabase('_replicator')
.createDatabase('_replicator')
.createDocument(replicatorDoc._id, '_replicator', replicatorDoc)
.loginToGUI()
.url(baseUrl + '/#replication')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementPresent('.replication__filter', waitTime, true)
.clickWhenVisible('a[href="#/database/_replicator/existing-doc-id-view-doc"]')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementPresent('#editor-container', waitTime, true)
.end();
},
'Can edit doc': client => {
const waitTime = client.globals.maxWaitTime;
const baseUrl = client.options.launch_url;
const replicatorDoc = {
_id: 'existing-doc-id-edit-doc',
source: "http://source-db.com",
target: "http://target-db.com"
};
client
.deleteDatabase('_replicator')
.createDatabase('_replicator')
.createDocument(replicatorDoc._id, '_replicator', replicatorDoc)
.loginToGUI()
.url(baseUrl + '/#replication')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementPresent('.replication__filter', waitTime, true)
.clickWhenVisible('a[title="Edit replication"]')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementPresent('.replication__section', waitTime, true)
.pause(10000)
.assert.valueContains(".replication__doc-name-input", replicatorDoc._id)
.end();
},
'Can filter docs': client => {
const waitTime = client.globals.maxWaitTime;
const baseUrl = client.options.launch_url;
const replicatorDoc1 = {
_id: 'existing-doc-id-filter1',
source: "http://source-db.com",
target: "http://target-db.com"
};
const replicatorDoc2 = {
_id: 'existing-doc-filter2',
source: "http://source-db2.com",
target: "http://target-db.com"
};
client
.deleteDatabase('_replicator')
.createDatabase('_replicator')
.createDocument(replicatorDoc1._id, '_replicator', replicatorDoc1)
.createDocument(replicatorDoc2._id, '_replicator', replicatorDoc2)
.loginToGUI()
.url(baseUrl + '/#replication')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementVisible('.replication__filter-input', waitTime, true)
.setValue('.replication__filter-input', 'filter1')
.waitForElementNotPresent('a[href="#/database/_replicator/existing-doc-filter2"]', waitTime, true)
.clearValue('.replication__filter-input')
.setValue('.replication__filter-input', 'filter')
.waitForElementPresent('a[href="#/database/_replicator/existing-doc-filter2"]', waitTime, true)
.end();
},
"Action click doesn't change doc's order": client =>{
const waitTime = client.globals.maxWaitTime;
const baseUrl = client.options.launch_url;
const firstRowSelector = '.replication__table-row:nth-of-type(1)';
let firstDoc;
const replicatorDoc1 = {
_id: 'existing-doc-id-filter1',
source: "http://source-db.com",
target: "http://target-db.com"
};
const replicatorDoc2 = {
_id: 'existing-doc-filter2',
source: "http://source-db2.com",
target: "http://target-db.com"
};
client
.deleteDatabase('_replicator')
.createDatabase('_replicator')
.createDocument(replicatorDoc1._id, '_replicator', replicatorDoc1)
.createDocument(replicatorDoc2._id, '_replicator', replicatorDoc2)
.loginToGUI()
.url(baseUrl + '/#replication')
.waitForElementNotPresent('.load-lines', waitTime, true)
.waitForElementVisible(firstRowSelector, waitTime, true)
.getText(firstRowSelector + ' td:nth-of-type(2)', function(result) {
firstDoc = result.value;
})
.clickWhenVisible(firstRowSelector + ' .replication__row-btn.icon-trash', waitTime, true)
.clickWhenVisible('.replication_delete-doc-modal.modal-dialog .modal-footer .cancel-link', waitTime, true)
.waitForElementVisible(firstRowSelector, waitTime, true)
.getText(firstRowSelector + ' td:nth-of-type(2)', function(result) {
this.verify.ok(result.value === firstDoc,
'Checking if the order was reserved if no documents were sorted');
})
.end();
}
};