diff --git a/src/metabase/events/view_log.clj b/src/metabase/events/view_log.clj
index 693ee8a4f8114d07bc22795f262c9e6a349b227d..0bf3ab1348979206e7c9731362248ca329d2bf41 100644
--- a/src/metabase/events/view_log.clj
+++ b/src/metabase/events/view_log.clj
@@ -49,7 +49,7 @@
   [object]
   (or (:actor_id object) (:user_id object) (:creator_id object)))
 
-(defn- process-view-count-event
+(defn process-view-count-event
   "Handle processing for a single event notification received on the view-counts-channel"
   [event]
   ;; try/catch here to prevent individual topic processing exceptions from bubbling up.  better to handle them here.
diff --git a/src/metabase/models/user.clj b/src/metabase/models/user.clj
index 8cdd71c9b00786aa2a4c5121e2d65ea86e5a8850..0370083b216189e06fda6abee726d852e7e3609c 100644
--- a/src/metabase/models/user.clj
+++ b/src/metabase/models/user.clj
@@ -47,6 +47,8 @@
 
   (pre-cascade-delete [_ {:keys [id]}]
     (cascade-delete 'Session :user_id id)
+    (cascade-delete 'Dashboard :creator_id id)
+    (cascade-delete 'Card :creator_id id)
     (cascade-delete 'Activity :user_id id)))
 
 
diff --git a/test/metabase/events/activity_feed_test.clj b/test/metabase/events/activity_feed_test.clj
index cabd2500e2c3e8070b9853692ef59bf679d5ab76..d9d029de78607c13a0ebf1d258c9d98d0b68356a 100644
--- a/test/metabase/events/activity_feed_test.clj
+++ b/test/metabase/events/activity_feed_test.clj
@@ -14,8 +14,6 @@
             [metabase.test.util :refer [expect-eval-actual-first with-temp random-name]]
             [metabase.test-setup :refer :all]))
 
-(test-startup)
-
 ;; TODO - we can simplify the cleanup work we do by using the :in-context :expectations-options
 ;;        the only downside is that it then runs the annotated function on ALL tests :/
 
@@ -240,7 +238,6 @@
    :model_id    user-id
    :details     {}}
   (do
-    (println "vals" user-id session-id session)
     (k/delete Activity)
     (process-activity-event {:topic :user-login
                              :item  {:user_id    user-id
diff --git a/test/metabase/events/view_log_test.clj b/test/metabase/events/view_log_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..a73564b3a53dac627853694f48333de8da90248e
--- /dev/null
+++ b/test/metabase/events/view_log_test.clj
@@ -0,0 +1,59 @@
+(ns metabase.events.view-log-test
+  (:require [expectations :refer :all]
+            [korma.core :as k]
+            [metabase.db :as db]
+            [metabase.events.view-log :refer :all]
+            (metabase.models [user :refer [User]]
+                             [view-log :refer [ViewLog]])
+            [metabase.test.data :refer :all]
+            [metabase.test.util :refer [expect-eval-actual-first with-temp random-name]]
+            [metabase.test-setup :refer :all]))
+
+
+(defn- create-test-user []
+  (let [rand-name (random-name)]
+    (db/ins User
+      :email      (str rand-name "@metabase.com")
+      :first_name rand-name
+      :last_name  rand-name
+      :password   rand-name)))
+
+
+;; `:card-create` event
+(expect-let [{user-id :id} (create-test-user)
+             card          {:id 1234
+                            :creator_id user-id}]
+  {:user_id     user-id
+   :model       "card"
+   :model_id    (:id card)}
+  (do
+    (process-view-count-event {:topic :card-create
+                               :item  card})
+    (-> (db/sel :one ViewLog :user_id user-id)
+        (select-keys [:user_id :model :model_id]))))
+
+;; `:card-read` event
+(expect-let [{user-id :id} (create-test-user)
+             card          {:id 1234
+                            :actor_id user-id}]
+  {:user_id     user-id
+   :model       "card"
+   :model_id    (:id card)}
+  (do
+    (process-view-count-event {:topic :card-read
+                               :item  card})
+    (-> (db/sel :one ViewLog :user_id user-id)
+        (select-keys [:user_id :model :model_id]))))
+
+;; `:dashboard-read` event
+(expect-let [{user-id :id} (create-test-user)
+             dashboard     {:id 1234
+                            :actor_id user-id}]
+  {:user_id     user-id
+   :model       "dashboard"
+   :model_id    (:id dashboard)}
+  (do
+    (process-view-count-event {:topic :dashboard-read
+                               :item  dashboard})
+    (-> (db/sel :one ViewLog :user_id user-id)
+        (select-keys [:user_id :model :model_id]))))