open-nomad/ui/tests/integration/job-page/helpers.js

52 lines
1.3 KiB
JavaScript

import { click, find } from 'ember-native-dom-helpers';
import wait from 'ember-test-helpers/wait';
export function jobURL(job, path = '') {
const id = job.get('plainId');
const namespace = job.get('namespace.name') || 'default';
let expectedURL = `/v1/job/${id}${path}`;
if (namespace !== 'default') {
expectedURL += `?namespace=${namespace}`;
}
return expectedURL;
}
export function stopJob() {
click('[data-test-stop] [data-test-idle-button]');
return wait().then(() => {
click('[data-test-stop] [data-test-confirm-button]');
return wait();
});
}
export function expectStopError(assert) {
return () => {
assert.equal(
find('[data-test-job-error-title]').textContent,
'Could Not Stop Job',
'Appropriate error is shown'
);
assert.ok(
find('[data-test-job-error-body]').textContent.includes('ACL'),
'The error message mentions ACLs'
);
click('[data-test-job-error-close]');
assert.notOk(find('[data-test-job-error-title]'), 'Error message is dismissable');
return wait();
};
}
export function expectDeleteRequest(assert, server, job) {
const expectedURL = jobURL(job);
assert.ok(
server.pretender.handledRequests
.filterBy('method', 'DELETE')
.find(req => req.url === expectedURL),
'DELETE URL was made correctly'
);
return wait();
}