121 lines
4.2 KiB
JavaScript
121 lines
4.2 KiB
JavaScript
import componentTest, {
|
|
setupRenderingTest,
|
|
} from "discourse/tests/helpers/component-test";
|
|
import { discourseModule, query } from "discourse/tests/helpers/qunit-helpers";
|
|
import hbs from "htmlbars-inline-precompile";
|
|
import selectKit from "discourse/tests/helpers/select-kit-helper";
|
|
|
|
discourseModule(
|
|
"Integration | Component | relative-time-picker",
|
|
function (hooks) {
|
|
setupRenderingTest(hooks);
|
|
|
|
hooks.beforeEach(function () {
|
|
this.set("subject", selectKit());
|
|
});
|
|
|
|
componentTest("prefills and preselects minutes", {
|
|
template: hbs`{{relative-time-picker durationMinutes="5"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "mins");
|
|
assert.strictEqual(prefilledDuration, "5");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects hours based on translated minutes", {
|
|
template: hbs`{{relative-time-picker durationMinutes="90"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "hours");
|
|
assert.strictEqual(prefilledDuration, "1.5");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects days based on translated minutes", {
|
|
template: hbs`{{relative-time-picker durationMinutes="2880"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "days");
|
|
assert.strictEqual(prefilledDuration, "2");
|
|
},
|
|
});
|
|
|
|
componentTest(
|
|
"prefills and preselects months based on translated minutes",
|
|
{
|
|
template: hbs`{{relative-time-picker durationMinutes="129600"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "months");
|
|
assert.strictEqual(prefilledDuration, "3");
|
|
},
|
|
}
|
|
);
|
|
|
|
componentTest("prefills and preselects years based on translated minutes", {
|
|
template: hbs`{{relative-time-picker durationMinutes="525600"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "years");
|
|
assert.strictEqual(prefilledDuration, "1");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects hours", {
|
|
template: hbs`{{relative-time-picker durationHours="5"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "hours");
|
|
assert.strictEqual(prefilledDuration, "5");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects minutes based on translated hours", {
|
|
template: hbs`{{relative-time-picker durationHours="0.5"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "mins");
|
|
assert.strictEqual(prefilledDuration, "30");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects days based on translated hours", {
|
|
template: hbs`{{relative-time-picker durationHours="48"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "days");
|
|
assert.strictEqual(prefilledDuration, "2");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects months based on translated hours", {
|
|
template: hbs`{{relative-time-picker durationHours="2160"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "months");
|
|
assert.strictEqual(prefilledDuration, "3");
|
|
},
|
|
});
|
|
|
|
componentTest("prefills and preselects years based on translated hours", {
|
|
template: hbs`{{relative-time-picker durationHours="17520"}}`,
|
|
|
|
test(assert) {
|
|
const prefilledDuration = query(".relative-time-duration").value;
|
|
assert.strictEqual(this.subject.header().value(), "years");
|
|
assert.strictEqual(prefilledDuration, "2");
|
|
},
|
|
});
|
|
}
|
|
);
|