open-nomad/ui/tests/pages/topology.js
2022-01-20 09:46:45 -05:00

78 lines
2.4 KiB
JavaScript

import {
attribute,
clickable,
collection,
create,
hasClass,
text,
visitable,
} from 'ember-cli-page-object';
import TopoViz from 'nomad-ui/tests/pages/components/topo-viz';
import notification from 'nomad-ui/tests/pages/components/notification';
export default create({
visit: visitable('/topology'),
infoPanelTitle: text('[data-test-info-panel-title]'),
filteredNodesWarning: notification('[data-test-filtered-nodes-warning]'),
viz: TopoViz('[data-test-topo-viz]'),
clusterInfoPanel: {
scope: '[data-test-info-panel]',
nodeCount: text('[data-test-node-count]'),
allocCount: text('[data-test-alloc-count]'),
memoryProgressValue: attribute('value', '[data-test-memory-progress-bar]'),
memoryAbsoluteValue: text('[data-test-memory-absolute-value]'),
cpuProgressValue: attribute('value', '[data-test-cpu-progress-bar]'),
cpuAbsoluteValue: text('[data-test-cpu-absolute-value]'),
},
nodeInfoPanel: {
scope: '[data-test-info-panel]',
allocations: text('[data-test-allocaions]'),
visitNode: clickable('[data-test-client-link]'),
id: text('[data-test-client-link]'),
name: text('[data-test-name]'),
address: text('[data-test-address]'),
status: text('[data-test-status]'),
drainingLabel: text('[data-test-draining]'),
drainingIsAccented: hasClass('is-info', '[data-test-draining]'),
eligibleLabel: text('[data-test-eligible]'),
eligibleIsAccented: hasClass('is-warning', '[data-test-eligible]'),
memoryProgressValue: attribute('value', '[data-test-memory-progress-bar]'),
memoryAbsoluteValue: text('[data-test-memory-absolute-value]'),
cpuProgressValue: attribute('value', '[data-test-cpu-progress-bar]'),
cpuAbsoluteValue: text('[data-test-cpu-absolute-value]'),
},
allocInfoPanel: {
scope: '[data-test-info-panel]',
id: text('[data-test-id]'),
visitAlloc: clickable('[data-test-id]'),
siblingAllocs: text('[data-test-sibling-allocs]'),
uniquePlacements: text('[data-test-unique-placements]'),
job: text('[data-test-job]'),
visitJob: clickable('[data-test-job]'),
taskGroup: text('[data-test-task-group]'),
client: text('[data-test-client]'),
visitClient: clickable('[data-test-client]'),
charts: collection('[data-test-primary-metric]', {
areas: collection('[data-test-chart-area]', {
taskName: attribute('data-test-task-name'),
}),
}),
},
});