Files
awx/awx/ui/test/e2e/objects/inventories.js
Marliana Lara 2140daf11e Fix add button display property and add tooltips
* Add tooltips to list add buttons of instance groups, instances, and applications.
2018-05-02 15:55:23 -04:00

137 lines
4.1 KiB
JavaScript

import actions from './sections/actions';
import breadcrumb from './sections/breadcrumb';
import createFormSection from './sections/createFormSection';
import createTableSection from './sections/createTableSection';
import header from './sections/header';
import lookupModal from './sections/lookupModal';
import navigation from './sections/navigation';
import pagination from './sections/pagination';
import permissions from './sections/permissions';
import search from './sections/search';
const standardInvDetails = createFormSection({
selector: 'form',
props: {
formElementSelectors: [
'#inventory_form .Form-textInput',
'#inventory_form select.Form-dropDown',
'#inventory_form .Form-textArea',
'#inventory_form input[type="checkbox"]',
'#inventory_form .ui-spinner-input',
'#inventory_form .ScheduleToggle-switch'
]
},
labels: {
name: 'Name',
description: 'Description',
organization: 'Organization'
}
});
const smartInvDetails = createFormSection({
selector: 'form',
props: {
formElementSelectors: [
'#smartinventory_form input.Form-textInput',
'#smartinventory_form textarea.Form-textArea',
'#smartinventory_form .Form-lookupButton',
'#smartinventory_form #InstanceGroups'
]
}
});
module.exports = {
url () {
return `${this.api.globals.launch_url}/#/inventories`;
},
sections: {
header,
navigation,
breadcrumb,
lookupModal,
addStandardInventory: {
selector: 'div[ui-view="form"]',
sections: {
standardInvDetails
},
elements: {
title: 'div[class^="Form-title"]'
}
},
editStandardInventory: {
selector: 'div[ui-view="form"]',
sections: {
standardInvDetails,
permissions
},
elements: {
title: 'div[class^="Form-title"]'
}
},
addSmartInventory: {
selector: 'div[ui-view="form"]',
sections: {
smartInvDetails
},
elements: {
title: 'div[class^="Form-title"]'
}
},
editSmartInventory: {
selector: 'div[ui-view="form"]',
sections: {
smartInvDetails,
permissions
},
elements: {
title: 'div[class^="Form-title"]'
}
},
list: {
selector: '.Panel',
elements: {
badge: 'span[class~="badge"]',
title: 'div[class="List-titleText"]',
add: 'button[class~="List-dropdownButton"]'
},
sections: {
search,
pagination,
table: createTableSection({
elements: {
status: 'td[class~="status-column"]',
name: 'td[class~="name-column"]',
kind: 'td[class~="kind-column"]',
organization: 'td[class~="organization-column"]'
},
sections: {
actions
}
})
}
}
},
elements: {
cancel: 'button[class*="Form-cancelButton"]',
save: 'button[class*="Form-saveButton"]'
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
selectAdd (name) {
this.api.waitForElementVisible('#button-add');
this.expect.element('#button-add').enabled;
this.api.click('#button-add');
this.api.useXpath();
this.api.waitForElementVisible(`.//a[normalize-space(text())="${name}"]`);
this.api.click(`//a[normalize-space(text())="${name}"]`);
this.api.useCss();
return this;
}
}]
};