mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Restore facked timers in the after-each hook (#15522)
This commit is contained in:
committed by
GitHub
parent
b3aeedd653
commit
c4646264c1
@@ -19,10 +19,16 @@ function buildOptions(now, opts) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
module("Unit | Lib | timeframes-builder", function () {
|
module("Unit | Lib | timeframes-builder", function (hooks) {
|
||||||
|
hooks.afterEach(function () {
|
||||||
|
if (this.clock) {
|
||||||
|
this.clock.restore();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
test("default options", function (assert) {
|
test("default options", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-06-07T08:00:00", timezone, true); // Monday
|
this.clock = fakeTime("2100-06-07T08:00:00", timezone, true); // Monday
|
||||||
|
|
||||||
const expected = [
|
const expected = [
|
||||||
"later_today",
|
"later_today",
|
||||||
@@ -40,45 +46,37 @@ module("Unit | Lib | timeframes-builder", function () {
|
|||||||
buildTimeframes(buildOptions(moment())).mapBy("id"),
|
buildTimeframes(buildOptions(moment())).mapBy("id"),
|
||||||
expected
|
expected
|
||||||
);
|
);
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't output 'Next Week' on Sundays", function (assert) {
|
test("doesn't output 'Next Week' on Sundays", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-06-13T08:00:00", timezone, true); // Sunday
|
this.clock = fakeTime("2100-06-13T08:00:00", timezone, true); // Sunday
|
||||||
|
|
||||||
assert.ok(
|
assert.ok(
|
||||||
!buildTimeframes(buildOptions(moment())).mapBy("id").includes("next_week")
|
!buildTimeframes(buildOptions(moment())).mapBy("id").includes("next_week")
|
||||||
);
|
);
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("outputs 'This Weekend' if it's enabled", function (assert) {
|
test("outputs 'This Weekend' if it's enabled", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-06-07T08:00:00", timezone, true); // Monday
|
this.clock = fakeTime("2100-06-07T08:00:00", timezone, true); // Monday
|
||||||
|
|
||||||
assert.ok(
|
assert.ok(
|
||||||
buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
||||||
.mapBy("id")
|
.mapBy("id")
|
||||||
.includes("this_weekend")
|
.includes("this_weekend")
|
||||||
);
|
);
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't output 'This Weekend' on Fridays", function (assert) {
|
test("doesn't output 'This Weekend' on Fridays", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-23 18:00:00", timezone, true); // Friday
|
this.clock = fakeTime("2100-04-23 18:00:00", timezone, true); // Friday
|
||||||
|
|
||||||
assert.ok(
|
assert.ok(
|
||||||
!buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
!buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
||||||
.mapBy("id")
|
.mapBy("id")
|
||||||
.includes("this_weekend")
|
.includes("this_weekend")
|
||||||
);
|
);
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't show 'This Weekend' on Sundays", function (assert) {
|
test("doesn't show 'This Weekend' on Sundays", function (assert) {
|
||||||
@@ -97,36 +95,30 @@ module("Unit | Lib | timeframes-builder", function () {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-25 18:00:00", timezone, true); // Sunday
|
this.clock = fakeTime("2100-04-25 18:00:00", timezone, true); // Sunday
|
||||||
|
|
||||||
assert.ok(
|
assert.ok(
|
||||||
!buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
!buildTimeframes(buildOptions(moment(), { includeWeekend: true }))
|
||||||
.mapBy("id")
|
.mapBy("id")
|
||||||
.includes("this_weekend")
|
.includes("this_weekend")
|
||||||
);
|
);
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("outputs 'Later This Week' instead of 'Later Today' at the end of the day", function (assert) {
|
test("outputs 'Later This Week' instead of 'Later Today' at the end of the day", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-19 18:00:00", timezone, true); // Monday evening
|
this.clock = fakeTime("2100-04-19 18:00:00", timezone, true); // Monday evening
|
||||||
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
||||||
|
|
||||||
assert.not(timeframes.includes("later_today"));
|
assert.not(timeframes.includes("later_today"));
|
||||||
assert.ok(timeframes.includes("later_this_week"));
|
assert.ok(timeframes.includes("later_this_week"));
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't output 'Later This Week' on Tuesdays", function (assert) {
|
test("doesn't output 'Later This Week' on Tuesdays", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-22 18:00:00", timezone, true); // Tuesday evening
|
this.clock = fakeTime("2100-04-22 18:00:00", timezone, true); // Tuesday evening
|
||||||
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
||||||
|
|
||||||
assert.not(timeframes.includes("later_this_week"));
|
assert.not(timeframes.includes("later_this_week"));
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't output 'Later This Week' on Sundays", function (assert) {
|
test("doesn't output 'Later This Week' on Sundays", function (assert) {
|
||||||
@@ -144,21 +136,17 @@ module("Unit | Lib | timeframes-builder", function () {
|
|||||||
in moment.js 0 stands for Sunday.
|
in moment.js 0 stands for Sunday.
|
||||||
*/
|
*/
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-25 18:00:00", timezone, true); // Sunday evening
|
this.clock = fakeTime("2100-04-25 18:00:00", timezone, true); // Sunday evening
|
||||||
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
||||||
|
|
||||||
assert.not(timeframes.includes("later_this_week"));
|
assert.not(timeframes.includes("later_this_week"));
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("doesn't output 'Next Month' on the last day of the month", function (assert) {
|
test("doesn't output 'Next Month' on the last day of the month", function (assert) {
|
||||||
const timezone = moment.tz.guess();
|
const timezone = moment.tz.guess();
|
||||||
const clock = fakeTime("2100-04-30 18:00:00", timezone, true); // The last day of April
|
this.clock = fakeTime("2100-04-30 18:00:00", timezone, true); // The last day of April
|
||||||
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
const timeframes = buildTimeframes(buildOptions(moment())).mapBy("id");
|
||||||
|
|
||||||
assert.not(timeframes.includes("next_month"));
|
assert.not(timeframes.includes("next_month"));
|
||||||
|
|
||||||
clock.restore();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user