From 8af6e72675e0182f9af6aed52bd5c48a9fb3fe79 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX <j.jaffeux@gmail.com> Date: Tue, 29 Dec 2020 20:11:18 +0100 Subject: [PATCH] FIX: ensures recurring works when setting a start date in future (#11587) --- .../javascripts/lib/local-date-builder.js.es6 | 2 +- .../lib/local-date-builder-test.js.es6 | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6 b/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6 index 502d05b21a6..123c6150f31 100644 --- a/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6 +++ b/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6 @@ -47,7 +47,7 @@ export default class LocalDateBuilder { localTimezone: this.localTimezone, }); - if (this.recurring) { + if (this.recurring && moment().isAfter(localDate.datetime)) { const [count, type] = this.recurring.split("."); const repetitionsForType = localDate.repetitionsBetweenDates( diff --git a/plugins/discourse-local-dates/test/javascripts/lib/local-date-builder-test.js.es6 b/plugins/discourse-local-dates/test/javascripts/lib/local-date-builder-test.js.es6 index 92baa75838c..06b29e0e269 100644 --- a/plugins/discourse-local-dates/test/javascripts/lib/local-date-builder-test.js.es6 +++ b/plugins/discourse-local-dates/test/javascripts/lib/local-date-builder-test.js.es6 @@ -5,6 +5,7 @@ import sinon from "sinon"; const UTC = "Etc/UTC"; const SYDNEY = "Australia/Sydney"; const LOS_ANGELES = "America/Los_Angeles"; +const NEW_YORK = "America/New_York"; const PARIS = "Europe/Paris"; const LAGOS = "Africa/Lagos"; const LONDON = "Europe/London"; @@ -217,6 +218,21 @@ test("option[recurring]", function (assert) { "it works to the minute" ); }); + + freezeTime({ date: "2020-12-28 09:16" }, () => { + assert.buildsCorrectDate( + { + date: "2021-01-24", + time: "08:30", + recurring: "1.weeks", + timezone: NEW_YORK, + }, + { + formated: "January 24, 2021 2:30 PM", + }, + "it works for a future date" + ); + }); }); test("option[countown]", function (assert) {