From 6b433b66f58a1a493a4860a4e4761e4240a2c625 Mon Sep 17 00:00:00 2001
From: Joffrey JAFFEUX <j.jaffeux@gmail.com>
Date: Thu, 29 Nov 2018 12:02:27 +0100
Subject: [PATCH] FIX: always prepend watching user timezone to previews
 (#6695)

---
 .../discourse-local-dates.js.no-module.es6    | 16 +++++++-------
 .../acceptance/local-dates-test.js.es6        | 21 +++++++------------
 2 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6 b/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
index 65bfa99fc6f..3bf9486b687 100644
--- a/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
+++ b/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
@@ -202,15 +202,13 @@
       timezone => timezone !== watchingUserTimezone
     );
 
-    if (!_isEqualZones(displayedTimezone, watchingUserTimezone)) {
-      previewedTimezones.push({
-        timezone: watchingUserTimezone,
-        current: true,
-        dateTime: options.time
-          ? dateTime.tz(watchingUserTimezone).format("LLL")
-          : _createDateTimeRange(dateTime, watchingUserTimezone)
-      });
-    }
+    previewedTimezones.push({
+      timezone: watchingUserTimezone,
+      current: true,
+      dateTime: options.time
+        ? dateTime.tz(watchingUserTimezone).format("LLL")
+        : _createDateTimeRange(dateTime, watchingUserTimezone)
+    });
 
     if (
       options.timezone &&
diff --git a/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-test.js.es6 b/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-test.js.es6
index d2657160b49..6d2a17f2a35 100644
--- a/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-test.js.es6
+++ b/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-test.js.es6
@@ -331,7 +331,7 @@ test("tooltip", assert => {
   assert.equal(
     timezone,
     DEFAULT_ZONE_FORMATED,
-    "it creates a range adjusted to watching user timezone"
+    "it adds watching user timezone as preview"
   );
   assert.equal(
     dateTime,
@@ -345,9 +345,9 @@ test("tooltip", assert => {
     htmlToolip = transformed.attr("data-html-tooltip");
     currentUserPreview = $(htmlToolip).find(".preview.current");
 
-    assert.notOk(
+    assert.ok(
       exists(currentUserPreview),
-      "it doesn’t create entry if watching user has the same timezone than creator"
+      "it creates an entry if watching user has the same timezone than creator"
     );
   });
 
@@ -360,11 +360,11 @@ test("tooltip", assert => {
   htmlToolip = transformed.attr("data-html-tooltip");
 
   assert.ok(
-    !exists(".preview.current"),
+    exists($(htmlToolip).find(".preview.current")),
     "doesn’t create current timezone when displayed timezone equals watching user timezone"
   );
 
-  let $firstPreview = $(htmlToolip).find(".preview:nth-child(1)");
+  let $firstPreview = $(htmlToolip).find(".preview:nth-child(2)");
   dateTime = $firstPreview.find(".date-time").text();
   timezone = $firstPreview.find(".timezone").text();
   assert.equal(
@@ -374,14 +374,9 @@ test("tooltip", assert => {
   );
   assert.equal(timezone, "Chicago", "it adds the timezone of the creator");
 
-  let $secondPreview = $(htmlToolip).find(".preview:nth-child(2)");
+  let $secondPreview = $(htmlToolip).find(".preview:nth-child(3)");
   dateTime = $secondPreview.find(".date-time").text();
   timezone = $secondPreview.find(".timezone").text();
-  assert.equal(
-    dateTime,
-    "June 20, 2018 7:00 PM",
-    "it doesn’t create range if time has been set"
-  );
   assert.equal(timezone, "UTC", "Etc/UTC is rewritten to UTC");
 
   freezeDateAndZone(moment("2018-11-26 21:00:00"), "Europe/Vienna", () => {
@@ -393,9 +388,7 @@ test("tooltip", assert => {
     transformed = $(html).applyLocalDates();
     htmlToolip = transformed.attr("data-html-tooltip");
 
-    $firstPreview = $(htmlToolip)
-      .find(".preview")
-      .first();
+    $firstPreview = $(htmlToolip).find(".preview:nth-child(2)");
 
     assert.equal(
       $firstPreview.find(".timezone").text(),