mirror of
https://github.com/penpot/penpot.git
synced 2025-01-24 07:29:08 -05:00
38 lines
1.8 KiB
Text
38 lines
1.8 KiB
Text
|
(ns token-tests.token-set-test
|
||
|
(:require
|
||
|
[app.main.ui.workspace.tokens.token-set :as wtts]
|
||
|
[cljs.test :as t]))
|
||
|
|
||
|
(t/deftest toggle-active-theme-id-test
|
||
|
(t/testing "toggles active theme id"
|
||
|
(let [state {:workspace-data {:token-themes-index {1 {:id 1}}}}]
|
||
|
(t/testing "activates theme with id")
|
||
|
(t/is (= (wtts/toggle-active-theme-id 1 state) #{1})))
|
||
|
|
||
|
(let [state {:workspace-data {:token-active-themes #{1}
|
||
|
:token-themes-index {1 {:id 1}}}}]
|
||
|
(t/testing "missing temp theme returns empty set"
|
||
|
(t/is (= #{} (wtts/toggle-active-theme-id 1 state)))))
|
||
|
|
||
|
(let [state {:workspace-data {:token-theme-temporary-id :temp
|
||
|
:token-active-themes #{1}
|
||
|
:token-themes-index {1 {:id 1}}}}]
|
||
|
(t/testing "empty set returns temp theme"
|
||
|
(t/is (= #{:temp} (wtts/toggle-active-theme-id 1 state)))))
|
||
|
|
||
|
(let [state {:workspace-data {:token-active-themes #{2 3 4}
|
||
|
:token-themes-index {1 {:id 1}
|
||
|
2 {:id 2}
|
||
|
3 {:id 3}
|
||
|
4 {:id 4 :group :different}}}}]
|
||
|
(t/testing "removes same group themes and keeps different group themes"
|
||
|
(t/is (= #{1 4} (wtts/toggle-active-theme-id 1 state)))))
|
||
|
|
||
|
(let [state {:workspace-data {:token-active-themes #{1 2 3 4}}
|
||
|
:token-themes-index {1 {:id 1}
|
||
|
2 {:id 2}
|
||
|
3 {:id 3}
|
||
|
4 {:id 4 :group :different}}}]
|
||
|
(t/testing "removes theme when active"
|
||
|
(t/is (= #{4 3 2} (wtts/toggle-active-theme-id 1 state)))))))
|