mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-18 19:12:35 -05:00
84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
const { client } = require('nightwatch-api')
|
|
const util = require('util')
|
|
|
|
module.exports = {
|
|
url: function () {
|
|
return this.api.launchUrl + '/#/settings'
|
|
},
|
|
|
|
commands: {
|
|
navigateAndWaitTillLoaded: async function () {
|
|
const url = this.url()
|
|
await await this.navigate(url)
|
|
while (true) {
|
|
let found = false
|
|
await this.waitForElementVisible('@pageHeader', 2000, 500, false)
|
|
await this.api
|
|
.elements('@pageHeader', result => {
|
|
if (result.value.length) {
|
|
found = true
|
|
}
|
|
})
|
|
if (found) {
|
|
break
|
|
}
|
|
await client.refresh()
|
|
}
|
|
return this.waitForElementVisible('@pageHeader')
|
|
},
|
|
|
|
getSettingsValue: async function (key) {
|
|
let output
|
|
switch (key) {
|
|
case 'Language':
|
|
let elemfound = true
|
|
|
|
// Language value is set to empty at beginning
|
|
// In that case just return false
|
|
await this.api.element('@languageValue', result => {
|
|
if (result.status < 0) {
|
|
elemfound = false
|
|
}
|
|
})
|
|
if (!elemfound) {
|
|
output = false
|
|
break
|
|
}
|
|
await this.waitForElementVisible('@languageValue')
|
|
.getText('@languageValue', (result) => {
|
|
output = result.value
|
|
})
|
|
break
|
|
default:
|
|
throw new Error('failed to find the setting')
|
|
}
|
|
return output
|
|
},
|
|
changeSettings: async function (key, value) {
|
|
switch (key) {
|
|
case 'Language':
|
|
await this
|
|
.waitForElementVisible('@languageInput')
|
|
.setValue('@languageInput', value + '\n')
|
|
break
|
|
default:
|
|
throw new Error('failed to find the setting')
|
|
}
|
|
}
|
|
},
|
|
|
|
elements: {
|
|
pageHeader: {
|
|
selector: '.oc-page-title'
|
|
},
|
|
languageValue: {
|
|
selector: "//label[.='Language']/..//span[@class='vs__selected']",
|
|
locateStrategy: 'xpath'
|
|
},
|
|
languageInput: {
|
|
selector: "//label[.='Language']/..//input",
|
|
locateStrategy: 'xpath'
|
|
},
|
|
}
|
|
}
|