This should be fully backwards compatible. Co-authored-by: Jarek Radosz <jradosz@gmail.com> Co-authored-by: Jarek Radosz <jradosz@gmail.com>
60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
import componentTest, {
|
|
setupRenderingTest,
|
|
} from "discourse/tests/helpers/component-test";
|
|
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
|
|
import hbs from "htmlbars-inline-precompile";
|
|
import selectKit from "discourse/tests/helpers/select-kit-helper";
|
|
|
|
function setTime(time) {
|
|
this.setProperties(time);
|
|
}
|
|
|
|
discourseModule("Integration | Component | time-input", function (hooks) {
|
|
setupRenderingTest(hooks);
|
|
|
|
hooks.beforeEach(function () {
|
|
this.set("subject", selectKit());
|
|
});
|
|
|
|
componentTest("default", {
|
|
template: hbs`{{time-input hours=hours minutes=minutes}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ hours: "14", minutes: "58" });
|
|
},
|
|
|
|
test(assert) {
|
|
assert.equal(this.subject.header().name(), "14:58");
|
|
},
|
|
});
|
|
|
|
componentTest("prevents mutations", {
|
|
template: hbs`{{time-input hours=hours minutes=minutes}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ hours: "14", minutes: "58" });
|
|
},
|
|
|
|
async test(assert) {
|
|
await this.subject.expand();
|
|
await this.subject.selectRowByIndex(3);
|
|
assert.equal(this.subject.header().name(), "14:58");
|
|
},
|
|
});
|
|
|
|
componentTest("allows mutations through actions", {
|
|
template: hbs`{{time-input hours=hours minutes=minutes onChange=onChange}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ hours: "14", minutes: "58" });
|
|
this.set("onChange", setTime);
|
|
},
|
|
|
|
async test(assert) {
|
|
await this.subject.expand();
|
|
await this.subject.selectRowByIndex(3);
|
|
assert.equal(this.subject.header().name(), "00:45");
|
|
},
|
|
});
|
|
});
|