mirror of
https://github.com/ansible/awx.git
synced 2026-02-16 10:40:01 -03:30
137 lines
4.1 KiB
JavaScript
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;
|
|
}
|
|
}]
|
|
};
|