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

115 lines
3.6 KiB
JavaScript

describe('Device Page', function() {
describe('Icon View', function() {
var DeviceListPage = require('./')
var deviceListPage = new DeviceListPage()
var LoginPage = require('../login')
var loginPage = new LoginPage()
var WidgetContainerPage = require('../widget-container')
var widgetContainerObj = new WidgetContainerPage()
it('should go to Devices List page', function() {
deviceListPage.get()
browser.getCurrentUrl().then(function(newUrl) {
expect(newUrl).toBe(browser.baseUrl + 'devices')
})
})
it('should have more than 1 device in the list', function() {
expect(deviceListPage.numberOfDevices()).toBeGreaterThan(0)
})
it('should filter available devices', function() {
deviceListPage.filterAvailableDevices()
expect(deviceListPage.searchInput.getAttribute('value')).toBe('state: "available"')
})
it('should not display used device if filter is set to - state using', function() {
deviceListPage.get()
deviceListPage.filterUsingDevices()
deviceListPage.getNumberOfFilteredOutDevices().then(function(amount) {
var filteredOut = amount
deviceListPage.numberOfDevices().then(function(amount) {
var notFiltered = amount
expect(notFiltered - filteredOut).toBe(0)
})
})
})
it('should have more than 1 device available', function() {
expect(deviceListPage.devicesUsable.count()).toBeGreaterThan(0)
})
it('should have one device usable', function() {
expect(deviceListPage.availableDevice().getAttribute('class')).toMatch('state-available')
})
it('should be able to unassign used device', function() {
deviceListPage.get()
deviceListPage.controlAvailableDevice()
deviceListPage.get()
deviceListPage.unassignDevice()
browser.getCurrentUrl().then(function(newUrl) {
expect(newUrl).toBe(browser.baseUrl + 'devices')
})
})
it('should be able to reuse assign device', function() {
// Test for issue #1076
deviceListPage.get()
deviceListPage.controlAvailableDevice()
deviceListPage.get()
deviceListPage.selectAssignedDevice()
browser.getCurrentUrl().then(function(newUrl) {
expect(newUrl).toContain(browser.baseUrl + 'control/')
})
})
it('should one device be marked as busy as is used by another user', function() {
deviceListPage.get()
deviceListPage.controlAvailableDevice()
loginPage.doFreshLogin('tester', 'test_user2@login.com')
deviceListPage.get()
expect(deviceListPage.getNumberOfBusyDevices()).toBe(1)
})
it('should not be able to pick up device marked as busy', function() {
deviceListPage.get()
deviceListPage.controlAvailableDevice()
loginPage.doFreshLogin('tester', 'test_user2@login.com')
deviceListPage.get()
deviceListPage.selectBusyDevice()
browser.getCurrentUrl().then(function(newUrl) {
expect(newUrl).toContain(browser.baseUrl + 'devices')
})
})
afterEach(function() {
// Relogin to test account if don't use standard test account
deviceListPage.get()
widgetContainerObj.getUserNameFromWidget().then(function(userName) {
if (userName.toLowerCase() !== loginPage.getUserName().toLowerCase()) {
loginPage.doFreshLogin()
}
})
// Unassign element if is assigned
deviceListPage.get()
deviceListPage.deviceStopUsingBtn.count().then(function(elements) {
if (elements > 0) {
deviceListPage.unassignDevice()
}
})
})
})
describe('List View', function() {
})
})