Adding Install tests

This commit is contained in:
Belen Curcio
2017-10-13 10:54:26 -03:00
parent cac6eecde2
commit 54971f37ad
2 changed files with 111 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
module.exports = {
commands: [{
url: function() {
return `${this.api.launchUrl}/admin/install`;
},
ready() {
return this
.waitForElementVisible('body', 2000);
},
}],
elements: {
'getStartedButton': '.talk-install-get-started-button',
'step2': '.talk-install-step-2',
'step2organizationNameInput': '.talk-install-step-2 #organizationName',
'step2saveButton': '.talk-install-step-2-save-button',
'step3': '.talk-install-step-3',
'step3EmailInput': '.talk-install-step-3 #email',
'step3UsernameInput': '.talk-install-step-3 #username',
'step3PasswordInput': '.talk-install-step-3 #password',
'step3ConfirmPasswordInput': '.talk-install-step-3 #confirmPassword',
'step3saveButton': '.talk-install-step-3-save-button',
'step4': '.talk-install-step-4',
'step4DomainInput': '.talk-install-step-4-permited-domains-input',
'step4saveButton': '.talk-install-step-4-save-button',
}
};
+85
View File
@@ -0,0 +1,85 @@
const uuid = require('uuid');
const {murmur3} = require('murmurhash-js');
const rHash = murmur3(uuid.v4());
const testData = {
organizationName: 'Coral',
email: `test_${rHash}@test.test`,
username: `test${rHash}`,
password: `testpassword${rHash}`,
domain: 'http://localhost:3000'
};
module.exports = {
'@tags': ['install'],
'User goes to install': (client) => {
const installPage = client.page.installPage();
installPage
.navigate()
.ready();
},
'User clicks get started button': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@getStartedButton')
.click('@getStartedButton');
},
'User should see step 2 - Add Organization Name': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@step2');
},
'User fills step 2': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@step2organizationNameInput')
.setValue('@step2organizationNameInput', testData.organizationName)
.waitForElementVisible('@step2saveButton')
.click('@step2saveButton');
},
'User should see step 3 - Create your account': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@step3');
},
'User fills step 3': (client) => {
const installPage = client.page.installPage();
installPage
.setValue('@step3EmailInput', testData.email)
.setValue('@step3UsernameInput', testData.username)
.setValue('@step3PasswordInput', testData.password)
.setValue('@step3ConfirmPasswordInput', testData.password)
.waitForElementVisible('@step3saveButton')
.click('@step3saveButton');
},
'User should see step 4 - Domain Whitelist': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@step4');
},
'User fills step 4': (client) => {
const installPage = client.page.installPage();
installPage
.waitForElementVisible('@step4DomainInput')
.setValue('@step4DomainInput', testData.domain);
client.keys(client.Keys.ENTER);
installPage
.waitForElementVisible('@step4saveButton')
.click('@step4saveButton');
},
after: (client) => {
client.end();
}
};