Skip to content
Snippets Groups Projects
Unverified Commit 26ddaa11 authored by Case Nelson's avatar Case Nelson Committed by GitHub
Browse files

Test for #35319 (#36218)

* Test for #35319

Closes #35319

* Address review comment and fix linter
parent 44c1342f
No related branches found
No related tags found
No related merge requests found
......@@ -3071,3 +3071,44 @@
:model "card"
:model_id (u/id card)}
(view-log-test/latest-view (mt/user->id :crowberto) (u/id card))))))))
(deftest pivot-from-model-test
(testing "Pivot options should match fields through models (#35319)"
(mt/dataset sample-dataset
(testing "visualization_settings references field by id"
(t2.with-temp/with-temp [:model/Card model {:dataset_query (mt/mbql-query orders)
:dataset true}
:model/Card card {:dataset_query
{:database (mt/id)
:type :query
:query {:source-table (str "card__" (u/the-id model))
:breakout [[:field "USER_ID" {:base-type :type/Integer}]]
:aggregation [[:sum [:field "TOTAL" {:base-type :type/Float}]]]}}
;; The FE sometimes used a field id instead of field by name - we need
;; to handle this
:visualization_settings {:pivot_table.column_split {:rows [[:field (mt/id :orders :user_id) nil]],
:columns [],
:values [[:aggregation 0]]},
:table.cell_column "sum"}}]
(with-cards-in-readable-collection [model card]
(is (=?
{:data {:cols [{:name "USER_ID"} {:name "pivot-grouping"} {:name "sum"}]}}
(mt/user-http-request :rasta :post 202 (format "card/pivot/%d/query" (u/the-id card))))))))
(testing "visualization_settings references field by name"
(t2.with-temp/with-temp [:model/Card model {:dataset_query (mt/mbql-query orders)
:dataset true}
:model/Card card {:dataset_query
{:database (mt/id)
:type :query
:query {:source-table (str "card__" (u/the-id model))
:breakout [[:field "USER_ID" {:base-type :type/Integer}]]
:aggregation [[:sum [:field "TOTAL" {:base-type :type/Float}]]]}}
:visualization_settings {:pivot_table.column_split {:rows [[:field "USER_ID" nil]],
:columns [],
:values [[:aggregation 0]]},
:table.cell_column "sum"}}]
(with-cards-in-readable-collection [model card]
(is (=?
{:data {:cols [{:name "USER_ID"} {:name "pivot-grouping"} {:name "sum"}]}}
(mt/user-http-request :rasta :post 202 (format "card/pivot/%d/query" (u/the-id card)))))))))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment