Files
penpot/frontend/test/frontend_tests/tokens/logic/token_data_test.cljs
Eva Marco eee5cf5fb4
Some checks are pending
Commit Message Check / Check Commit Message (push) Waiting to run
Add duplicate sets feature (#6240)
*  Add duplicate sets feature

*  Add test to each module

* 🎉 Fix comments

* 🎉 Remove duplicate from groups

* 🎉 Remove create theme from test

* 🎉 Remove ' from names
2025-04-14 16:22:40 +02:00

61 lines
1.9 KiB
Clojure

(ns frontend-tests.tokens.logic.token-data-test
(:require
[app.common.test-helpers.files :as cthf]
[app.common.types.tokens-lib :as ctob]
[app.main.data.tokens :as dt]
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.pages :as thp]
[frontend-tests.helpers.state :as ths]
[frontend-tests.tokens.helpers.state :as tohs]
[frontend-tests.tokens.helpers.tokens :as toht]))
(t/use-fixtures :each
{:before thp/reset-idmap!})
(defn setup-file []
(cthf/sample-file :file-1 :page-label :page-1))
(defn setup-file-with-token-lib
[]
(-> (setup-file)
(assoc-in [:data :tokens-lib]
(-> (ctob/make-tokens-lib)
(ctob/add-set (ctob/make-token-set :name "Set A"))))))
(t/deftest duplicate-set
(t/async
done
(let [file (setup-file-with-token-lib)
store (ths/setup-store file)
events [(dt/duplicate-token-set "Set A" false)]]
(tohs/run-store-async
store done events
(fn [new-state]
(let [file' (ths/get-file-from-state new-state)
token-lib (toht/get-tokens-lib file')
sets (ctob/get-sets token-lib)
set (ctob/get-set token-lib "Set A")]
(t/testing "Token lib contains two sets"
(t/is (= (count sets) 2))
(t/is (some? set)))))))))
(t/deftest duplicate-non-exist-set
(t/async
done
(let [file (setup-file-with-token-lib)
store (ths/setup-store file)
events [(dt/duplicate-token-set "Set B" false)]]
(tohs/run-store-async
store done events
(fn [new-state]
(let [file' (ths/get-file-from-state new-state)
token-lib (toht/get-tokens-lib file')
sets (ctob/get-sets token-lib)
set (ctob/get-set token-lib "Set B")]
(t/testing "Token lib contains one set"
(t/is (= (count sets) 1))
(t/is (nil? set)))))))))