Skip to content

Commit f165373

Browse files
committed
enhance tests
1 parent 82d7340 commit f165373

File tree

5 files changed

+170
-122
lines changed

5 files changed

+170
-122
lines changed

test/document_test.cljs

+65-46
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
(ns document-test
22
(:require
3-
[cljs.test :refer-macros [deftest is]]
3+
[cljs.test :refer-macros [deftest is testing]]
44
[day8.re-frame.test :as rf-test]
55
[re-frame.core :as rf]
66
[renderer.app.events :as app.e]
@@ -24,23 +24,27 @@
2424
(rf/dispatch [::app.e/initialize-db])
2525
(rf/dispatch [::e/init])
2626

27-
(rf/dispatch [::e/close (:id @(rf/subscribe [::s/active]) false)])
28-
(is (not @(rf/subscribe [::s/active])))
27+
(testing "close"
28+
(rf/dispatch [::e/close (:id @(rf/subscribe [::s/active]) false)])
29+
(is (not @(rf/subscribe [::s/active]))))
2930

30-
(rf/dispatch [::e/new])
31-
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
32-
(rf/dispatch [::e/close-active])
33-
(is (not @(rf/subscribe [::s/active])))
31+
(testing "close active"
32+
(rf/dispatch [::e/new])
33+
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
34+
(rf/dispatch [::e/close-active])
35+
(is (not @(rf/subscribe [::s/active]))))
3436

35-
(rf/dispatch [::e/new])
36-
(rf/dispatch [::e/new])
37-
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
38-
(rf/dispatch [::e/close-all-saved])
39-
(is (= (count @(rf/subscribe [::s/entities])) 1))
37+
(testing "close all saved"
38+
(rf/dispatch [::e/new])
39+
(rf/dispatch [::e/new])
40+
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
41+
(rf/dispatch [::e/close-all-saved])
42+
(is (= (count @(rf/subscribe [::s/entities])) 1)))
4043

41-
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
42-
(rf/dispatch [::e/close-all])
43-
(is (not @(rf/subscribe [::s/active])))))
44+
(testing "close all"
45+
(rf/dispatch [::e/saved @(rf/subscribe [::s/active])])
46+
(rf/dispatch [::e/close-all])
47+
(is (not @(rf/subscribe [::s/active]))))))
4448

4549
(deftest create
4650
(rf-test/run-test-sync
@@ -66,35 +70,43 @@
6670

6771
(let [fill (rf/subscribe [::s/fill])
6872
stroke (rf/subscribe [::s/stroke])]
69-
(is (= @fill "white"))
70-
(is (= @stroke "black"))
73+
(testing "default color values"
74+
(is (= @fill "white"))
75+
(is (= @stroke "black")))
7176

72-
(rf/dispatch [::e/swap-colors])
73-
(is (= @fill "black"))
74-
(is (= @stroke "white"))
77+
(testing "swap colors"
78+
(rf/dispatch [::e/swap-colors])
79+
(is (= @fill "black"))
80+
(is (= @stroke "white")))
7581

76-
(rf/dispatch [::e/set-attr :fill "red"])
77-
(is (= @fill "red"))
82+
(testing "set fill"
83+
(rf/dispatch [::e/set-attr :fill "red"])
84+
(is (= @fill "red")))
7885

79-
(rf/dispatch [::e/set-attr :stroke "yellow"])
80-
(is (= @stroke "yellow")))))
86+
(testing "set stroke"
87+
(rf/dispatch [::e/set-attr :stroke "yellow"])
88+
(is (= @stroke "yellow"))))))
8189

8290
(deftest filters
8391
(rf-test/run-test-sync
8492
(rf/dispatch [::app.e/initialize-db])
8593
(rf/dispatch [::e/init])
8694

8795
(let [active-filter (rf/subscribe [::s/filter])]
88-
(is (not @active-filter))
96+
(testing "default state"
97+
(is (not @active-filter)))
8998

90-
(rf/dispatch [::e/toggle-filter :blur])
91-
(is (= @active-filter :blur))
99+
(testing "enable filter"
100+
(rf/dispatch [::e/toggle-filter :blur])
101+
(is (= @active-filter :blur)))
92102

93-
(rf/dispatch [::e/toggle-filter :deuteranopia])
94-
(is (= @active-filter :deuteranopia))
103+
(testing "change active filter"
104+
(rf/dispatch [::e/toggle-filter :deuteranopia])
105+
(is (= @active-filter :deuteranopia)))
95106

96-
(rf/dispatch [::e/toggle-filter :deuteranopia])
97-
(is (not @active-filter)))))
107+
(testing "disable filter"
108+
(rf/dispatch [::e/toggle-filter :deuteranopia])
109+
(is (not @active-filter))))))
98110

99111

100112
(deftest collapse-expand
@@ -104,13 +116,16 @@
104116

105117
(let [collapsed-ids (rf/subscribe [::s/collapsed-ids])
106118
id (random-uuid)]
107-
(is (empty? @collapsed-ids))
119+
(testing "default state"
120+
(is (empty? @collapsed-ids)))
108121

109-
(rf/dispatch [::e/collapse-el id])
110-
(is (= #{id} @collapsed-ids))
122+
(testing "collapse"
123+
(rf/dispatch [::e/collapse-el id])
124+
(is (= #{id} @collapsed-ids)))
111125

112-
(rf/dispatch [::e/expand-el id])
113-
(is (empty? @collapsed-ids)))))
126+
(testing "expand"
127+
(rf/dispatch [::e/expand-el id])
128+
(is (empty? @collapsed-ids))))))
114129

115130
(deftest hover
116131
(rf-test/run-test-sync
@@ -119,13 +134,16 @@
119134

120135
(let [hovered-ids (rf/subscribe [::s/hovered-ids])
121136
id (random-uuid)]
122-
(is (empty? @hovered-ids))
137+
(testing "default state"
138+
(is (empty? @hovered-ids)))
123139

124-
(rf/dispatch [::e/set-hovered-id id])
125-
(is (= #{id} @hovered-ids))
140+
(testing "hover"
141+
(rf/dispatch [::e/set-hovered-id id])
142+
(is (= #{id} @hovered-ids)))
126143

127-
(rf/dispatch [::e/clear-hovered])
128-
(is (empty? @hovered-ids)))))
144+
(testing "clear hovered"
145+
(rf/dispatch [::e/clear-hovered])
146+
(is (empty? @hovered-ids))))))
129147

130148
(deftest save
131149
(rf-test/run-test-sync
@@ -135,12 +153,13 @@
135153
(let [saved (rf/subscribe [::s/active-saved])
136154
document (rf/subscribe [::s/active])
137155
id (:id @document)]
138-
(is (not @saved))
139-
140-
(rf/dispatch [::e/saved @document])
141-
(is @saved)
156+
(testing "default state"
157+
(is (not @saved)))
142158

143-
(is @(rf/subscribe [::s/saved id])))))
159+
(testing "save"
160+
(rf/dispatch [::e/saved @document])
161+
(is @saved)
162+
(is @(rf/subscribe [::s/saved id]))))))
144163

145164
(deftest load
146165
(rf-test/run-test-sync

test/element_impl_test.cljs

+18
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,21 @@
265265
[0 0 50 50]))
266266

267267
(is (thrown? js/Error (hierarchy/path svg-el)))))
268+
269+
(deftest text
270+
(let [text-el {:type :element
271+
:tag :text
272+
:content "My text"
273+
:attrs {:x "0"
274+
:y "0"
275+
:width "50"
276+
:height "50"}}]
277+
278+
(is (= (hierarchy/translate text-el [50 50])
279+
{:type :element
280+
:tag :text
281+
:content "My text"
282+
:attrs {:x "50"
283+
:y "50"
284+
:width "50"
285+
:height "50"}}))))

test/element_test.cljs

+47-34
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(ns element-test
22
(:require
33
["paper" :refer [paper]]
4-
[cljs.test :refer-macros [deftest are is]]
4+
[cljs.test :refer-macros [deftest are is testing]]
55
[day8.re-frame.test :as rf-test]
66
[re-frame.core :as rf]
77
[renderer.app.events :as app.e]
@@ -19,33 +19,38 @@
1919

2020
(let [root (rf/subscribe [::s/root])
2121
root-children (rf/subscribe [::s/root-children])]
22-
(is (db/valid? @root))
23-
(are [v sub] (= v sub)
24-
:canvas (:tag @root)
25-
:svg (-> @root-children first :tag)))))
22+
(testing "default elements"
23+
(is (db/valid? @root))
24+
(are [v sub] (= v sub)
25+
:canvas (:tag @root)
26+
:svg (-> @root-children first :tag))))))
2627

2728
(deftest select
2829
(rf-test/run-test-sync
2930
(rf/dispatch [::app.e/initialize-db])
3031
(rf/dispatch [::document.e/init])
3132

3233
(let [selected (rf/subscribe [::s/selected])]
33-
(is (empty? @selected))
34+
(testing "default state"
35+
(is (empty? @selected)))
3436

35-
(rf/dispatch [::e/select-all])
36-
(is (= (count @selected) 1))
37+
(testing "select all"
38+
(rf/dispatch [::e/select-all])
39+
(is (= (count @selected) 1)))
3740

38-
(rf/dispatch [::e/deselect-all])
39-
(is (empty? @selected))
41+
(testing "deselect all"
42+
(rf/dispatch [::e/deselect-all])
43+
(is (empty? @selected)))
4044

41-
(rf/dispatch [::e/add {:tag :rect
42-
:attrs {:width 100 :height 100}}])
43-
(is (= :rect (-> @selected first :tag)))
45+
(testing "select same tags"
46+
(rf/dispatch [::e/add {:tag :rect
47+
:attrs {:width 100 :height 100}}])
48+
(is (= :rect (-> @selected first :tag)))
4449

45-
(rf/dispatch [::e/add {:tag :rect
46-
:attrs {:width 100 :height 100}}])
47-
(rf/dispatch [::e/select-same-tags])
48-
(is (= (count @selected) 2)))))
50+
(rf/dispatch [::e/add {:tag :rect
51+
:attrs {:width 100 :height 100}}])
52+
(rf/dispatch [::e/select-same-tags])
53+
(is (= (count @selected) 2))))))
4954

5055
(deftest lock
5156
(rf-test/run-test-sync
@@ -55,13 +60,16 @@
5560
(let [selected (rf/subscribe [::s/selected])]
5661
(rf/dispatch [::e/add {:tag :rect
5762
:attrs {:width 100 :height 100}}])
58-
(is (not (-> @selected first :locked)))
63+
(testing "default state"
64+
(is (not (-> @selected first :locked))))
5965

60-
(rf/dispatch [::e/lock])
61-
(is (-> @selected first :locked))
66+
(testing "lock"
67+
(rf/dispatch [::e/lock])
68+
(is (-> @selected first :locked)))
6269

63-
(rf/dispatch [::e/unlock])
64-
(is (not (-> @selected first :locked))))))
70+
(testing "unlock"
71+
(rf/dispatch [::e/unlock])
72+
(is (not (-> @selected first :locked)))))))
6573

6674
(deftest attribute
6775
(rf-test/run-test-sync
@@ -73,14 +81,17 @@
7381
:attrs {:width 100 :height 100 :fill "white"}}])
7482
(is (= (-> @selected first :attrs :fill) "white"))
7583

76-
(rf/dispatch [::e/set-attr :fill "red"])
77-
(is (= (-> @selected first :attrs :fill) "red"))
84+
(testing "set attribute"
85+
(rf/dispatch [::e/set-attr :fill "red"])
86+
(is (= (-> @selected first :attrs :fill) "red")))
7887

79-
(rf/dispatch [::e/preview-attr :fill "yellow"])
80-
(is (= (-> @selected first :attrs :fill) "yellow"))
88+
(testing "preview attribute"
89+
(rf/dispatch [::e/preview-attr :fill "yellow"])
90+
(is (= (-> @selected first :attrs :fill) "yellow")))
8191

82-
(rf/dispatch [::e/remove-attr :fill])
83-
(is (not (-> @selected first :attrs :fill))))))
92+
(testing "remove attribute"
93+
(rf/dispatch [::e/remove-attr :fill])
94+
(is (not (-> @selected first :attrs :fill)))))))
8495

8596
(deftest scale
8697
(rf-test/run-test-sync
@@ -186,9 +197,11 @@
186197
:attrs {:x 100 :y 100 :width 100 :height 100}}])
187198
(let [selected (rf/subscribe [::s/selected])
188199
id (-> @selected first :id)]
189-
(rf/dispatch [::e/group])
190-
(is (= (-> @selected first :tag) :g))
191-
(is (= (-> @selected first :children) [id]))
192-
193-
(rf/dispatch [::e/ungroup])
194-
(is (= (-> @selected first :tag) :rect)))))
200+
(testing "group"
201+
(rf/dispatch [::e/group])
202+
(is (= (-> @selected first :tag) :g))
203+
(is (= (-> @selected first :children) [id])))
204+
205+
(testing "ungroup"
206+
(rf/dispatch [::e/ungroup])
207+
(is (= (-> @selected first :tag) :rect))))))

0 commit comments

Comments
 (0)