Files
stf-DeviceFarmer/res/test/e2e/devices/index.js
Lukasz.Zeglinski 7d593cdb51 Add test for issue #1076
Add tests for device icon view
2019-09-19 16:41:18 +02:00

71 lines
1.9 KiB
JavaScript

module.exports = function DeviceListPage() {
this.get = function() {
browser.get(browser.baseUrl + 'devices')
browser.wait(waitUrl(/devices/), 5000)
}
this.devices = element(by.model('tracker.devices'))
this.deviceStopUsingBtn = element.all(by.css('.state-using'))
this.devicesByCss = element.all(by.css('ul.devices-icon-view > li'))
this.devicesUsable = element.all(by.css('.state-available'))
this.devicesBusy = element.all(by.css('.state-busy'))
this.searchInput = element(by.model('search.deviceFilter'))
this.devicesFilteredOut = element.all(by.xpath('//*[contains(@class, "filter-out")]'))
this.filterAvailableDevices = function() {
return this.searchInput.sendKeys('state: "available"')
}
this.filterUsingDevices = function() {
return this.searchInput.sendKeys('state: "using"')
}
this.numberOfDevices = function() {
return this.devicesByCss.count().then(function(amount) {
return amount
})
}
this.getNumberOfFilteredOutDevices = function() {
return this.devicesFilteredOut.count().then(function(amount) {
return amount
})
}
this.getNumberOfBusyDevices = function() {
return this.devicesBusy.count().then(function(amount) {
return amount
})
}
this.availableDevice = function() {
return this.devicesUsable.first()
}
this.controlAvailableDevice = function() {
this.availableDevice().click()
browser.wait(waitUrl(/control/), 5000)
}
this.assignedDevice = function() {
return this.deviceStopUsingBtn.first()
}
this.getFirstBusyDevice = function() {
return this.devicesBusy.first()
}
this.unassignDevice = function() {
return this.assignedDevice().click()
}
this.selectAssignedDevice = function() {
return this.assignedDevice().element(by.xpath('..')).click()
}
this.selectBusyDevice = function() {
return this.getFirstBusyDevice().element(by.xpath('..')).click()
}
}