e8593ec1bb
This rethinks namespaces as a filter on list pages rather than a global setting. The biggest net-new feature here is being able to select All (*) to list all jobs or CSI volumes across namespaces.
73 lines
2 KiB
JavaScript
73 lines
2 KiB
JavaScript
import {
|
|
attribute,
|
|
create,
|
|
collection,
|
|
clickable,
|
|
isPresent,
|
|
property,
|
|
text,
|
|
triggerable,
|
|
visitable,
|
|
} from 'ember-cli-page-object';
|
|
|
|
import { multiFacet, singleFacet } from 'nomad-ui/tests/pages/components/facet';
|
|
import pageSizeSelect from 'nomad-ui/tests/pages/components/page-size-select';
|
|
|
|
export default create({
|
|
pageSize: 25,
|
|
|
|
visit: visitable('/jobs'),
|
|
|
|
search: {
|
|
scope: '[data-test-jobs-search] input',
|
|
keydown: triggerable('keydown'),
|
|
},
|
|
|
|
runJobButton: {
|
|
scope: '[data-test-run-job]',
|
|
isDisabled: property('disabled'),
|
|
},
|
|
|
|
jobs: collection('[data-test-job-row]', {
|
|
id: attribute('data-test-job-row'),
|
|
name: text('[data-test-job-name]'),
|
|
namespace: text('[data-test-job-namespace]'),
|
|
link: attribute('href', '[data-test-job-name] a'),
|
|
status: text('[data-test-job-status]'),
|
|
type: text('[data-test-job-type]'),
|
|
priority: text('[data-test-job-priority]'),
|
|
taskGroups: text('[data-test-job-task-groups]'),
|
|
|
|
hasNamespace: isPresent('[data-test-job-namespace]'),
|
|
clickRow: clickable(),
|
|
clickName: clickable('[data-test-job-name] a'),
|
|
}),
|
|
|
|
nextPage: clickable('[data-test-pager="next"]'),
|
|
prevPage: clickable('[data-test-pager="prev"]'),
|
|
|
|
isEmpty: isPresent('[data-test-empty-jobs-list]'),
|
|
emptyState: {
|
|
headline: text('[data-test-empty-jobs-list-headline]'),
|
|
},
|
|
|
|
error: {
|
|
isPresent: isPresent('[data-test-error]'),
|
|
title: text('[data-test-error-title]'),
|
|
message: text('[data-test-error-message]'),
|
|
seekHelp: clickable('[data-test-error-message] a'),
|
|
gotoJobs: clickable('[data-test-error-jobs-link]'),
|
|
gotoClients: clickable('[data-test-error-clients-link]'),
|
|
},
|
|
|
|
pageSizeSelect: pageSizeSelect(),
|
|
|
|
facets: {
|
|
namespace: singleFacet('[data-test-namespace-facet]'),
|
|
type: multiFacet('[data-test-type-facet]'),
|
|
status: multiFacet('[data-test-status-facet]'),
|
|
datacenter: multiFacet('[data-test-datacenter-facet]'),
|
|
prefix: multiFacet('[data-test-prefix-facet]'),
|
|
},
|
|
});
|