open-nomad/ui/tests/pages/jobs/job/task-group.js

85 lines
2.4 KiB
JavaScript

import {
attribute,
clickable,
create,
collection,
fillable,
isPresent,
text,
visitable,
} from 'ember-cli-page-object';
import allocations from 'nomad-ui/tests/pages/components/allocations';
import error from 'nomad-ui/tests/pages/components/error';
import pageSizeSelect from 'nomad-ui/tests/pages/components/page-size-select';
import stepperInput from 'nomad-ui/tests/pages/components/stepper-input';
import LifecycleChart from 'nomad-ui/tests/pages/components/lifecycle-chart';
export default create({
pageSize: 25,
visit: visitable('/jobs/:id/:name'),
search: fillable('.search-box input'),
countStepper: stepperInput('[data-test-task-group-count-stepper]'),
tasksCount: text('[data-test-task-group-tasks]'),
cpu: text('[data-test-task-group-cpu]'),
mem: text('[data-test-task-group-mem]'),
disk: text('[data-test-task-group-disk]'),
breadcrumbs: collection('[data-test-breadcrumb]', {
id: attribute('data-test-breadcrumb'),
text: text(),
visit: clickable(),
}),
breadcrumbFor(id) {
return this.breadcrumbs.toArray().find(crumb => crumb.id === id);
},
...allocations(),
isEmpty: isPresent('[data-test-empty-allocations-list]'),
lifecycleChart: LifecycleChart,
hasVolumes: isPresent('[data-test-volumes]'),
volumes: collection('[data-test-volumes] [data-test-volume]', {
name: text('[data-test-volume-name]'),
type: text('[data-test-volume-type]'),
source: text('[data-test-volume-source]'),
permissions: text('[data-test-volume-permissions]'),
}),
hasScaleEvents: isPresent('[data-test-scale-events]'),
scaleEvents: collection('[data-test-scale-events] [data-test-accordion-head]', {
error: isPresent('[data-test-error]'),
time: text('[data-test-time]'),
count: text('[data-test-count]'),
countIcon: { scope: '[data-test-count-icon]' },
message: text('[data-test-message]'),
isToggleable: isPresent('[data-test-accordion-toggle]:not(.is-invisible)'),
toggle: clickable('[data-test-accordion-toggle]'),
}),
scaleEventBodies: collection('[data-test-scale-events] [data-test-accordion-body]', {
meta: text(),
}),
hasScalingTimeline: isPresent('[data-test-scaling-timeline]'),
scalingAnnotations: collection('[data-test-scaling-timeline] [data-test-annotation]', {
open: clickable('button'),
}),
error: error(),
emptyState: {
headline: text('[data-test-empty-allocations-list-headline]'),
},
pageSizeSelect: pageSizeSelect(),
});