Skip to content
Snippets Groups Projects
Unverified Commit 442ecdd3 authored by Tim Macdonald's avatar Tim Macdonald Committed by GitHub
Browse files

Ensure dashcards are deleted after actions are deleted (#28446)

parent ac09a78c
No related branches found
No related tags found
No related merge requests found
(ns metabase.models.action-test (ns metabase.models.action-test
(:require (:require
[clojure.test :refer :all] [clojure.test :refer :all]
[metabase.models :refer [Dashboard DashboardCard]] [metabase.models :refer [Action Dashboard DashboardCard]]
[metabase.models.action :as action] [metabase.models.action :as action]
[metabase.test :as mt] [metabase.test :as mt]
[toucan.hydrate :refer [hydrate]] [toucan.hydrate :refer [hydrate]]
...@@ -59,10 +59,19 @@ ...@@ -59,10 +59,19 @@
(deftest dashcard-deletion-test (deftest dashcard-deletion-test
(mt/test-drivers (mt/normal-drivers-with-feature :actions/custom) (mt/test-drivers (mt/normal-drivers-with-feature :actions/custom)
(mt/with-actions-enabled (mt/with-actions-enabled
(mt/with-actions [{:keys [action-id]} {}] (testing "Dashcards are deleted after actions are archived"
(mt/with-temp* [Dashboard [{dashboard-id :id}] (mt/with-actions [{:keys [action-id]} {}]
DashboardCard [{dashcard-id :id} {:action_id action-id (mt/with-temp* [Dashboard [{dashboard-id :id}]
:dashboard_id dashboard-id}]] DashboardCard [{dashcard-id :id} {:action_id action-id
(is (= 1 (t2/count DashboardCard :id dashcard-id))) :dashboard_id dashboard-id}]]
(action/update! {:id action-id, :archived true} {:id action-id}) (is (= 1 (t2/count DashboardCard :id dashcard-id)))
(is (zero? (t2/count DashboardCard :id dashcard-id)))))))) (action/update! {:id action-id, :archived true} {:id action-id})
(is (zero? (t2/count DashboardCard :id dashcard-id))))))
(testing "Dashcards are deleted after actions are deleted entirely"
(mt/with-actions [{:keys [action-id]} {}]
(mt/with-temp* [Dashboard [{dashboard-id :id}]
DashboardCard [{dashcard-id :id} {:action_id action-id
:dashboard_id dashboard-id}]]
(is (= 1 (t2/count DashboardCard :id dashcard-id)))
(t2/delete! Action :id action-id)
(is (zero? (t2/count DashboardCard :id dashcard-id)))))))))
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