97 lines
2.4 KiB
JavaScript
97 lines
2.4 KiB
JavaScript
import {
|
|
attribute,
|
|
create,
|
|
clickable,
|
|
collection,
|
|
hasClass,
|
|
isPresent,
|
|
text,
|
|
} from 'ember-cli-page-object';
|
|
|
|
export default create({
|
|
navbar: {
|
|
scope: '[data-test-global-header]',
|
|
|
|
regionSwitcher: {
|
|
scope: '[data-test-region-switcher]',
|
|
isPresent: isPresent(),
|
|
open: clickable('.ember-power-select-trigger'),
|
|
options: collection('.ember-power-select-option', {
|
|
label: text(),
|
|
}),
|
|
},
|
|
|
|
search: {
|
|
scope: '[data-test-search]',
|
|
|
|
click: clickable('.ember-power-select-trigger'),
|
|
|
|
groups: collection('.ember-power-select-group', {
|
|
testContainer: '.ember-power-select-options',
|
|
resetScope: true,
|
|
name: text('.ember-power-select-group-name'),
|
|
|
|
options: collection(
|
|
'.ember-power-select-option',
|
|
create({
|
|
label: text(),
|
|
|
|
substrings: collection('[data-test-match-substring]', {
|
|
isHighlighted: hasClass('highlighted'),
|
|
}),
|
|
|
|
get formattedText() {
|
|
return this.substrings
|
|
.map(string => {
|
|
if (string.isHighlighted) {
|
|
return `*${string.text}*`;
|
|
} else {
|
|
return string.text;
|
|
}
|
|
})
|
|
.join('');
|
|
},
|
|
})
|
|
),
|
|
}),
|
|
|
|
field: {
|
|
scope: '.ember-power-select-search input',
|
|
testContainer: 'html',
|
|
resetScope: true,
|
|
},
|
|
},
|
|
},
|
|
|
|
gutter: {
|
|
scope: '[data-test-gutter-menu]',
|
|
namespaceSwitcher: {
|
|
scope: '[data-test-namespace-switcher]',
|
|
isPresent: isPresent(),
|
|
open: clickable('.ember-power-select-trigger'),
|
|
options: collection('.ember-power-select-option', {
|
|
label: text(),
|
|
}),
|
|
},
|
|
visitJobs: clickable('[data-test-gutter-link="jobs"]'),
|
|
|
|
optimize: {
|
|
scope: '[data-test-gutter-link="optimize"]',
|
|
},
|
|
|
|
visitClients: clickable('[data-test-gutter-link="clients"]'),
|
|
visitServers: clickable('[data-test-gutter-link="servers"]'),
|
|
visitStorage: clickable('[data-test-gutter-link="storage"]'),
|
|
},
|
|
|
|
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);
|
|
},
|
|
});
|