From 2ff0b9fb58684d51324aa00866dfa80d61a89401 Mon Sep 17 00:00:00 2001 From: Ryan Senior <ryan@metabase.com> Date: Tue, 13 Jun 2017 13:54:21 -0500 Subject: [PATCH] Sort column dimension_options numerically --- src/metabase/api/table.clj | 11 +++++++---- test/metabase/api/table_test.clj | 10 +++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/metabase/api/table.clj b/src/metabase/api/table.clj index 9f577a64df4..c1e69d422d6 100644 --- a/src/metabase/api/table.clj +++ b/src/metabase/api/table.clj @@ -78,7 +78,7 @@ updated-table))) (def ^:private dimension-options - (zipmap (map str (range)) + (zipmap (range) (concat (map (fn [[name param]] {:name name @@ -109,19 +109,22 @@ ["Quantized by the 100 equally sized bins" ["num-bins" 100]]])))) (def ^:private dimension-options-for-response - (m/map-vals #(dissoc % :type) dimension-options)) + (m/map-kv (fn [k v] + [(str k) (dissoc v :type)]) dimension-options)) (def ^:private datetime-dimension-indexes (->> dimension-options (m/filter-kv (fn [k v] (isa? (:type v) :type/DateTime))) keys - sort)) + sort + (map str))) (def ^:private numeric-dimension-indexes (->> dimension-options (m/filter-kv (fn [k v] (isa? (:type v) :type/Numeric))) keys - sort)) + sort + (map str))) (defn- assoc-dimension-options [resp] (-> resp diff --git a/test/metabase/api/table_test.clj b/test/metabase/api/table_test.clj index d1f1f67faa6..5f7c7998376 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 $})) - ((user->client :rasta) :get 200 (format "table/%d/query_metadata?include_sensitive_fields=true" (id :users)))) + #spy/d ((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 @@ -484,3 +484,11 @@ :raw_table_id $ :created_at $}))}))}]) ((user->client :rasta) :get 200 (format "table/%d/fks" (id :users)))) + +(expect + (map str (sort (map #(Long/parseLong %) (var-get datetime-dimension-indexes)))) + (var-get datetime-dimension-indexes)) + +(expect + (map str (sort (map #(Long/parseLong %) (var-get numeric-dimension-indexes)))) + (var-get numeric-dimension-indexes)) -- GitLab