Commit 9d0a1b62 authored by Michael Lange's avatar Michael Lange
Browse files

Use PageObject for job versions tests

Showing with 21 additions and 23 deletions
+21 -23
......@@ -6,7 +6,7 @@
</span>
<span class="pair is-faded">
<span class="term">Submitted</span>
<span data-test-version-submit-date class="submit-date">{{moment-format version.submitTime "MM/DD/YY HH:mm:ss"}}</span>
<span data-test-version-submit-time class="submit-date">{{moment-format version.submitTime "MM/DD/YY HH:mm:ss"}}</span>
</span>
{{#if version.diff}}
<button class="button is-light is-compact pull-right" {{action "toggleDiff"}}>{{changeCount}} {{pluralize "Change" changeCount}}</button>
......
import { find, findAll, visit } from 'ember-native-dom-helpers';
import { test } from 'qunit';
import moduleForAcceptance from 'nomad-ui/tests/helpers/module-for-acceptance';
import Versions from 'nomad-ui/tests/pages/jobs/job/versions';
import moment from 'moment';
let job;
......@@ -11,33 +11,20 @@ moduleForAcceptance('Acceptance | job versions', {
job = server.create('job', { createAllocations: false });
versions = server.db.jobVersions.where({ jobId: job.id });
visit(`/jobs/${job.id}/versions`);
Versions.visit({ id: job.id });
},
});
test('/jobs/:id/versions should list all job versions', function(assert) {
assert.ok(
findAll('[data-test-version]').length,
versions.length,
'Each version gets a row in the timeline'
);
assert.ok(Versions.versions.length, versions.length, 'Each version gets a row in the timeline');
});
test('each version mentions the version number, the stability, and the submitted time', function(
assert
) {
test('each version mentions the version number, the stability, and the submitted time', function(assert) {
const version = versions.sortBy('submitTime').reverse()[0];
const versionRow = find('[data-test-version]');
const formattedSubmitTime = moment(version.submitTime / 1000000).format('MM/DD/YY HH:mm:ss');
const versionRow = Versions.versions.objectAt(0);
assert.ok(versionRow.textContent.includes(`Version #${version.version}`), 'Version #');
assert.equal(
versionRow.querySelector('[data-test-version-stability]').textContent,
version.stable.toString(),
'Stability'
);
assert.equal(
versionRow.querySelector('[data-test-version-submit-date]').textContent,
moment(version.submitTime / 1000000).format('MM/DD/YY HH:mm:ss'),
'Submit time'
);
assert.ok(versionRow.text.includes(`Version #${version.version}`), 'Version #');
assert.equal(versionRow.stability, version.stable.toString(), 'Stability');
assert.equal(versionRow.submitTime, formattedSubmitTime, 'Submit time');
});
import { create, collection, text, visitable } from 'ember-cli-page-object';
export default create({
visit: visitable('/jobs/:id/versions'),
versions: collection('[data-test-version]', {
text: text(),
stability: text('[data-test-version-stability]'),
submitTime: text('[data-test-version-submit-time]'),
}),
});
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment