From 45841f94fe1733bea5800beb675b3d1cc840e165 Mon Sep 17 00:00:00 2001
From: Ryan Senior <ryan@metabase.com>
Date: Tue, 13 Jun 2017 14:05:23 -0500
Subject: [PATCH] Added min/max values to binning_info

---
 src/metabase/query_processor/annotate.clj            | 6 ++++--
 src/metabase/query_processor/resolve.clj             | 2 +-
 test/metabase/api/table_test.clj                     | 2 +-
 test/metabase/query_processor_test/breakout_test.clj | 3 ++-
 4 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/metabase/query_processor/annotate.clj b/src/metabase/query_processor/annotate.clj
index adc622e3eb7..1deb8eebcd8 100644
--- a/src/metabase/query_processor/annotate.clj
+++ b/src/metabase/query_processor/annotate.clj
@@ -46,10 +46,12 @@
         fields))
 
     metabase.query_processor.interface.BinnedField
-    (let [nested-field (:field this)]
+    (let [{{:keys [min-value max-value] :as nested-field} :field} this]
       [(assoc nested-field :binning_info {:binning_strategy "num-bins"
                                           :bin_width (:bin-width this)
-                                          :num_bins (:num-bins this)})])
+                                          :num_bins (:num-bins this)
+                                          :min_value min-value
+                                          :max_value max-value})])
 
     metabase.query_processor.interface.Field
     (if-let [parent (:parent this)]
diff --git a/src/metabase/query_processor/resolve.clj b/src/metabase/query_processor/resolve.clj
index a0ec07eebf9..458d7d93ea6 100644
--- a/src/metabase/query_processor/resolve.clj
+++ b/src/metabase/query_processor/resolve.clj
@@ -100,7 +100,7 @@
 
 ;;; ## ------------------------------------------------------------ FIELD PLACEHOLDER ------------------------------------------------------------
 
-(defn calculate-bin-width [field num-bins]
+(defn- calculate-bin-width [field num-bins]
   (u/round-to-decimals 5 (/ (- (:max-value field)
                                (:min-value field))
                             num-bins)))
diff --git a/test/metabase/api/table_test.clj b/test/metabase/api/table_test.clj
index 5f7c7998376..911be3d5892 100644
--- a/test/metabase/api/table_test.clj
+++ b/test/metabase/api/table_test.clj
@@ -284,7 +284,7 @@
                             "Spiros Teofil"
                             "Szymon Theutrich"]}
             :created_at   $}))
-  #spy/d ((user->client :rasta) :get 200 (format "table/%d/query_metadata?include_sensitive_fields=true" (id :users))))
+  ((user->client :rasta) :get 200 (format "table/%d/query_metadata?include_sensitive_fields=true" (id :users))))
 
 ;;; GET api/table/:id/query_metadata
 ;;; Make sure that getting the User table does *not* include password info
diff --git a/test/metabase/query_processor_test/breakout_test.clj b/test/metabase/query_processor_test/breakout_test.clj
index 9c6737c64f8..5e3089a5a8b 100644
--- a/test/metabase/query_processor_test/breakout_test.clj
+++ b/test/metabase/query_processor_test/breakout_test.clj
@@ -115,7 +115,8 @@
 (expect-with-non-timeseries-dbs
   (merge (venues-col :latitude)
          {:min_value 10.0646, :source :breakout,
-          :max_value 40.7794, :binning_info {:binning_strategy "num-bins", :bin_width 10.23827, :num_bins 3}})
+          :max_value 40.7794, :binning_info {:binning_strategy "num-bins", :bin_width 10.23827, :num_bins 3
+                                             :min_value 10.0646, :max_value 40.7794}})
   (tu/with-temporary-setting-values [breakout-bins-num 3]
     (-> (data/run-query venues
           (ql/aggregation (ql/count))
-- 
GitLab