From 05fe2c824b60ad9d0e59a86ced402b330d954a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cam=20Sa=C3=BCl?= <cammsaul@gmail.com> Date: Fri, 14 Oct 2016 12:33:54 -0700 Subject: [PATCH] Fix getting started guide endpoint if no metrics are defined :wrench: --- src/metabase/api/getting_started.clj | 5 +++-- test/metabase/api/getting_started_guide_test.clj | 8 ++++++++ test/metabase/test/data/users.clj | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 test/metabase/api/getting_started_guide_test.clj diff --git a/src/metabase/api/getting_started.clj b/src/metabase/api/getting_started.clj index 7600a1f2af1..444a25dac61 100644 --- a/src/metabase/api/getting_started.clj +++ b/src/metabase/api/getting_started.clj @@ -33,7 +33,8 @@ :important_segments segment-ids ;; A map of metric_id -> sequence of important field_ids :metric_important_fields (m/map-vals (partial map :field_id) - (group-by :metric_id (db/select ['MetricImportantField :field_id :metric_id] - :metric_id [:in metric-ids])))})) + (group-by :metric_id (when (seq metric-ids) + (db/select ['MetricImportantField :field_id :metric_id] + :metric_id [:in metric-ids]))))})) (define-routes) diff --git a/test/metabase/api/getting_started_guide_test.clj b/test/metabase/api/getting_started_guide_test.clj new file mode 100644 index 00000000000..6cca9720f8e --- /dev/null +++ b/test/metabase/api/getting_started_guide_test.clj @@ -0,0 +1,8 @@ +(ns metabase.api.getting-started-guide-test + (:require [expectations :refer :all] + [metabase.test.data.users :refer [user->client]])) + +;; just make sure the getting started guide endpoint works and returns the correct keys +(expect + #{:metric_important_fields :most_important_dashboard :things_to_know :important_metrics :important_segments :important_tables :contact} + (set (keys ((user->client :rasta) :get 200 "getting_started")))) diff --git a/test/metabase/test/data/users.clj b/test/metabase/test/data/users.clj index 1e37a7190ed..aa07dbe486f 100644 --- a/test/metabase/test/data/users.clj +++ b/test/metabase/test/data/users.clj @@ -1,5 +1,6 @@ (ns metabase.test.data.users "Code related to creating / managing fake `Users` for testing purposes." + ;; TODO - maybe this namespace should just be `metabase.test.users`. (:require [medley.core :as m] (metabase [db :as db] [http-client :as http]) -- GitLab