Skip to content
Snippets Groups Projects
Commit 8e808c24 authored by Allen Gilliland's avatar Allen Gilliland
Browse files

more unit testing. this time for the view_log event processing code.

parent 5e53d45e
No related branches found
No related tags found
No related merge requests found
......@@ -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.
......
......@@ -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)))
......
......@@ -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
......
(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]))))
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