1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 18:33:38 +02:00

Implement logout (closes #9)

This commit is contained in:
Arne Schlüter 2018-06-11 23:02:21 +02:00
commit fee9793934
3 changed files with 43 additions and 20 deletions

View file

@ -2,6 +2,8 @@
(:require [cljs.test :refer [deftest testing is]]
[clojure.string :as str]
[airsonic-ui.fixtures :refer [responses]]
[airsonic-ui.db :as db]
[airsonic-ui.routes :as routes]
[airsonic-ui.events :as events]))
(enable-console-print!)
@ -51,6 +53,17 @@
(testing "remembering has no effect"
(is (nil? (events/try-remember-user {} [:_]))))))
(deftest logout
(let [fx (events/logout {} [:_])]
(testing "Should clear all stored data"
(is (nil? (:store fx))))
(testing "Should redirect to the login screen"
(is (= [::routes/login] (:routes/navigate fx))))
(testing "Should unset authentication in the router"
(is (contains? fx :routes/unset-credentials)))
(testing "Should reset the app-db"
(is (= db/default-db (:db fx))))))
(defn- first-notification [fx]
(-> (get-in fx [:db :notifications]) vals first))