| // 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 = { |
| 'Creates a document' : (client) => { |
| /*jshint multistr: true */ |
| const waitTime = client.globals.maxWaitTime, |
| newDatabaseName = client.globals.testDatabaseName, |
| newDocumentName = 'create_doc_document', |
| baseUrl = client.globals.test_settings.launch_url; |
| |
| client |
| .createDatabase(newDatabaseName) |
| .loginToGUI() |
| .url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs') |
| .clickWhenVisible('#new-all-docs-button a') |
| .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/new"]') |
| .waitForElementPresent('#editor-container', waitTime, false) |
| .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/new') |
| .waitForElementPresent('.ace_gutter-active-line', waitTime, false) |
| |
| // confirm the header elements are showing up |
| .waitForElementVisible('.faux-header__breadcrumbs', waitTime, true) |
| .waitForElementVisible('.faux__jsonlink-link', waitTime, true) |
| |
| .execute('\ |
| var editor = ace.edit("doc-editor");\ |
| editor.gotoLine(2,10);\ |
| editor.removeWordRight();\ |
| editor.insert("' + newDocumentName + '");\ |
| ') |
| |
| .clickWhenVisible('#doc-editor-actions-panel .save-doc') |
| .checkForDocumentCreated(newDocumentName) |
| .url(baseUrl + '#/database/' + newDatabaseName + '/_all_docs') |
| .clickWhenVisible('.fonticon-json') |
| .waitForElementVisible('.prettyprint', waitTime, false) |
| .getText('.prettyprint', function (result) { |
| const data = result.value; |
| const createdDocIsPresent = data.indexOf(newDocumentName) !== -1; |
| |
| this.verify.ok( |
| createdDocIsPresent, |
| 'Checking if new document shows up in _all_docs.' |
| ); |
| }) |
| .end(); |
| }, |
| |
| 'Creates a _local document' : (client) => { |
| /*jshint multistr: true */ |
| const waitTime = client.globals.maxWaitTime, |
| newDatabaseName = client.globals.testDatabaseName, |
| newDocumentName = '_local/create_doc_document', |
| baseUrl = client.globals.test_settings.launch_url; |
| |
| client |
| .createDatabase(newDatabaseName) |
| .loginToGUI() |
| .url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs') |
| .clickWhenVisible('#new-all-docs-button a') |
| .clickWhenVisible('#new-all-docs-button a[href="#/database/' + newDatabaseName + '/new"]') |
| .waitForElementPresent('#editor-container', waitTime, false) |
| .verify.urlEquals(baseUrl + '/#/database/' + newDatabaseName + '/new') |
| .waitForElementPresent('.ace_gutter-active-line', waitTime, false) |
| |
| // confirm the header elements are showing up |
| .waitForElementVisible('.faux-header__breadcrumbs', waitTime, true) |
| .waitForElementVisible('.faux__jsonlink-link', waitTime, true) |
| |
| .execute('\ |
| var editor = ace.edit("doc-editor");\ |
| editor.gotoLine(2,10);\ |
| editor.removeWordRight();\ |
| editor.insert("' + newDocumentName + '");\ |
| ') |
| |
| .clickWhenVisible('#doc-editor-actions-panel .save-doc') |
| .checkForDocumentCreated(newDocumentName) |
| .url(baseUrl + '#/database/' + newDatabaseName + '/' + newDocumentName) |
| |
| // Confirm the editor loaded successfully |
| .waitForElementPresent('.ace_gutter-active-line', waitTime, false) |
| .waitForElementVisible('.faux-header__breadcrumbs', waitTime, true) |
| .waitForElementVisible('.faux__jsonlink-link', waitTime, true) |
| .execute(function() { |
| /*global ace*/ |
| return ace.edit("doc-editor").getValue(); |
| }, function (data) { |
| const createdDocIsPresent = data.value.indexOf(newDocumentName) !== -1; |
| |
| this.verify.ok( |
| createdDocIsPresent, |
| 'Checking if new document shows up in _all_docs.' |
| ); |
| }) |
| .end(); |
| }, |
| |
| 'Creates a Document through Create Document toolbar button': (client) => { |
| const waitTime = client.globals.maxWaitTime, |
| newDatabaseName = client.globals.testDatabaseName, |
| newDocumentName = 'a-create_doc_document', |
| baseUrl = client.globals.test_settings.launch_url; |
| |
| client |
| .createDatabase(newDatabaseName) |
| .loginToGUI() |
| .url(baseUrl + '/#/database/' + newDatabaseName + '/_all_docs') |
| .waitForElementPresent('.tableview-checkbox-cell', waitTime, false) |
| .clickWhenVisible('.document-result-screen__toolbar-create-btn') |
| .waitForElementPresent('#editor-container', waitTime, false) |
| .verify.urlEquals(baseUrl + '/#database/' + newDatabaseName + '/new') |
| .waitForElementPresent('.ace_gutter-active-line', waitTime, false) |
| |
| // confirm the header elements are showing up |
| .waitForElementVisible('.faux-header__breadcrumbs', waitTime, true) |
| .waitForElementVisible('.faux__jsondoc-wrapper', waitTime, true) |
| |
| .execute('\ |
| var editor = ace.edit("doc-editor");\ |
| editor.gotoLine(2,10);\ |
| editor.removeWordRight();\ |
| editor.insert("' + newDocumentName + '");\ |
| ') |
| |
| .clickWhenVisible('#doc-editor-actions-panel .save-doc') |
| .checkForDocumentCreated(newDocumentName) |
| .url(baseUrl + '#/database/' + newDatabaseName + '/_all_docs') |
| .clickWhenVisible('.fonticon-json') |
| .waitForElementVisible('.prettyprint', waitTime, false) |
| .getText('.prettyprint', function (result) { |
| const data = result.value; |
| const createdDocIsPresent = data.indexOf(newDocumentName) !== -1; |
| this.verify.ok( |
| createdDocIsPresent, |
| 'Checking if new document shows up in _all_docs.' |
| ); |
| }) |
| .end(); |
| } |
| }; |