Using arrow functions changes `this` context, which is undesired in tests, e.g. it makes it impossible to setup things like pretender (`this.server`) in `beforeEach` hooks. Ember guides always use classic functions in examples (e.g. https://guides.emberjs.com/release/testing/test-types/), and that's what it uses in its own test suite, as do various addons and ember apps. It was also already used in Discourse where `this` was required. Moving forward, it will be needed in more places as we migrate toward ember-cli. (I might later add a custom rule to eslint-discourse-ember to enforce this)
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import sinon from "sinon";
|
|
import { test, module } from "qunit";
|
|
import { formattedReminderTime } from "discourse/lib/bookmark";
|
|
import { fakeTime } from "discourse/tests/helpers/qunit-helpers";
|
|
|
|
module("lib:bookmark", {
|
|
beforeEach() {
|
|
fakeTime("2020-04-11 08:00:00", "Australia/Brisbane");
|
|
},
|
|
|
|
afterEach() {
|
|
sinon.restore();
|
|
},
|
|
});
|
|
|
|
test("formattedReminderTime works when the reminder time is tomorrow", function (assert) {
|
|
let reminderAt = "2020-04-12 09:45:00";
|
|
let reminderAtDate = moment
|
|
.tz(reminderAt, "Australia/Brisbane")
|
|
.format("H:mm a");
|
|
assert.equal(
|
|
formattedReminderTime(reminderAt, "Australia/Brisbane"),
|
|
"tomorrow at " + reminderAtDate
|
|
);
|
|
});
|
|
|
|
test("formattedReminderTime works when the reminder time is today", function (assert) {
|
|
let reminderAt = "2020-04-11 09:45:00";
|
|
let reminderAtDate = moment
|
|
.tz(reminderAt, "Australia/Brisbane")
|
|
.format("H:mm a");
|
|
assert.equal(
|
|
formattedReminderTime(reminderAt, "Australia/Brisbane"),
|
|
"today at " + reminderAtDate
|
|
);
|
|
});
|
|
|
|
test("formattedReminderTime works when the reminder time is in the future", function (assert) {
|
|
let reminderAt = "2020-04-15 09:45:00";
|
|
let reminderAtDate = moment
|
|
.tz(reminderAt, "Australia/Brisbane")
|
|
.format("H:mm a");
|
|
assert.equal(
|
|
formattedReminderTime(reminderAt, "Australia/Brisbane"),
|
|
"at Apr 15, 2020 " + reminderAtDate
|
|
);
|
|
});
|