open-nomad/ui/tests/pages/allocations/fs.js

68 lines
1.5 KiB
JavaScript

import {
attribute,
collection,
clickable,
create,
hasClass,
isPresent,
text,
visitable,
} from 'ember-cli-page-object';
export default create({
visitAllocation: visitable('/allocations/:id/fs'),
visitAllocationPath: visitable('/allocations/:id/fs/:path'),
visitTask: visitable('/allocations/:id/:name/fs'),
visitTaskPath: visitable('/allocations/:id/:name/fs/:path'),
fileViewer: {
scope: '[data-test-file-viewer]',
},
breadcrumbsText: text('[data-test-fs-breadcrumbs]'),
breadcrumbs: collection('[data-test-fs-breadcrumbs] li', {
visit: clickable('a'),
path: attribute('href', 'a'),
isActive: hasClass('is-active'),
}),
sortOptions: collection('[data-test-sort-by]', {
id: attribute('data-test-sort-by'),
sort: clickable(),
}),
sortBy(id) {
return this.sortOptions.toArray().findBy('id', id).sort();
},
directoryEntries: collection('[data-test-entry]', {
name: text('[data-test-name]'),
isFile: isPresent('.icon-is-file-outline'),
isDirectory: isPresent('.icon-is-folder-outline'),
size: text('[data-test-size]'),
lastModified: text('[data-test-last-modified]'),
visit: clickable('a'),
path: attribute('href', 'a'),
}),
isEmptyDirectory: isPresent('[data-test-empty-directory]'),
directoryEntryNames() {
return this.directoryEntries.toArray().mapBy('name');
},
hasEmptyState: isPresent('[data-test-not-running]'),
emptyState: {
headline: text('[data-test-not-running-headline]'),
},
error: {
title: text('[data-test-error-title]'),
},
});