mirror of
https://github.com/discourse/discourse.git
synced 2025-04-03 05:39:41 +08:00

This structure is closer to how ember-cli expects tests to be placed. It is not their final position, just the first step towards it.
66 lines
1.3 KiB
JavaScript
66 lines
1.3 KiB
JavaScript
import componentTest from "helpers/component-test";
|
|
|
|
moduleForComponent("date-input", { integration: true });
|
|
|
|
function dateInput() {
|
|
return find(".date-picker");
|
|
}
|
|
|
|
function setDate(date) {
|
|
this.set("date", date);
|
|
}
|
|
|
|
async function pika(year, month, day) {
|
|
await click(
|
|
`.pika-button.pika-day[data-pika-year="${year}"][data-pika-month="${month}"][data-pika-day="${day}"]`
|
|
);
|
|
}
|
|
|
|
function noop() {}
|
|
|
|
const DEFAULT_DATE = moment("2019-01-29");
|
|
|
|
componentTest("default", {
|
|
template: `{{date-input date=date}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ date: DEFAULT_DATE });
|
|
},
|
|
|
|
test(assert) {
|
|
assert.equal(dateInput().val(), "January 29, 2019");
|
|
},
|
|
});
|
|
|
|
componentTest("prevents mutations", {
|
|
template: `{{date-input date=date onChange=onChange}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ date: DEFAULT_DATE });
|
|
this.set("onChange", noop);
|
|
},
|
|
|
|
async test(assert) {
|
|
await click(dateInput());
|
|
await pika(2019, 0, 2);
|
|
|
|
assert.ok(this.date.isSame(DEFAULT_DATE));
|
|
},
|
|
});
|
|
|
|
componentTest("allows mutations through actions", {
|
|
template: `{{date-input date=date onChange=onChange}}`,
|
|
|
|
beforeEach() {
|
|
this.setProperties({ date: DEFAULT_DATE });
|
|
this.set("onChange", setDate);
|
|
},
|
|
|
|
async test(assert) {
|
|
await click(dateInput());
|
|
await pika(2019, 0, 2);
|
|
|
|
assert.ok(this.date.isSame(moment("2019-01-02")));
|
|
},
|
|
});
|