From 3fddc4cd2b177872702af427aeeb8095dcc1f900 Mon Sep 17 00:00:00 2001
From: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>
Date: Mon, 8 Jul 2019 10:11:41 -0400
Subject: [PATCH] add special case for timeseries with one x value (#10200)

---
 frontend/src/metabase/visualizations/lib/timeseries.js        | 4 ++++
 .../test/metabase/visualizations/lib/timeseries.unit.spec.js  | 1 +
 2 files changed, 5 insertions(+)

diff --git a/frontend/src/metabase/visualizations/lib/timeseries.js b/frontend/src/metabase/visualizations/lib/timeseries.js
index b5a1ba84ccc..91c2794357c 100644
--- a/frontend/src/metabase/visualizations/lib/timeseries.js
+++ b/frontend/src/metabase/visualizations/lib/timeseries.js
@@ -196,6 +196,10 @@ function computeTimeseriesDataInvervalIndex(xValues, unit) {
   if (unit && INTERVAL_INDEX_BY_UNIT[unit] != undefined) {
     return INTERVAL_INDEX_BY_UNIT[unit];
   }
+  // Always use 'day' when there's just one value.
+  if (xValues.length === 1) {
+    return TIMESERIES_INTERVALS.findIndex(ti => ti.interval === "day");
+  }
   // Keep track of the value seen for each level of granularity,
   // if any don't match then we know the data is *at least* that granular.
   const values = [];
diff --git a/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js b/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js
index 823885bd6e3..21fa26822f9 100644
--- a/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js
+++ b/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js
@@ -132,6 +132,7 @@ describe("visualization.lib.timeseries", () => {
         10,
         [["2015-01-01T00:00:00.000Z"], ["2025-01-01T00:00:00.000Z"]],
       ],
+      ["day", 1, [["2019-01-01T00:00:00.000Z"]]],
     ];
 
     TEST_CASES.map(([expectedInterval, expectedCount, data]) => {
-- 
GitLab