test(alias): add more tests

pull/973/head
Tienson Qin 2020-12-21 16:44:59 +08:00
parent 0d96ce6a15
commit b1d5d378a0
2 changed files with 72 additions and 20 deletions

View File

@ -86,3 +86,7 @@
(d/transact! db-conn [(me-tx (d/db db-conn) me)]))
(when listen-handler (listen-handler repo)))))
(defn destroy-all!
[]
(reset! conns {}))

View File

@ -9,28 +9,76 @@
(defonce test-db "test-db")
(defn- run-db!
[]
(conn/start! nil test-db))
[f]
(conn/start! nil test-db)
(f)
(conn/destroy-all!))
(deftest test-page-alias-set
[]
(run-db!)
(let [files [{:file/path "a.md"
:file/content "---\ntitle: a\nalias: [[b]]\n---"}
{:file/path "b.md"
:file/content "---\ntitle: b\nalias: [[c]]\n---"}
{:file/path "d.md"
:file/content "---\ntitle: d\n---\n## ref to [[b]]"}]
_ (repo-handler/parse-files-and-load-to-db! test-db files {:re-render? false})
a-aliases (model/page-alias-set test-db "a")
b-aliases (model/page-alias-set test-db "b")
alias-names (model/get-page-alias-names test-db "a")
b-ref-blocks (model/get-page-referenced-blocks test-db "b")
a-ref-blocks (model/get-page-referenced-blocks test-db "a")]
(are [x y] (= x y)
3 (count a-aliases)
1 (count b-ref-blocks)
1 (count a-ref-blocks)
["b" "c"] alias-names)))
(run-db!
(fn []
(let [files [{:file/path "a.md"
:file/content "---\ntitle: a\nalias: [[b]]\n---"}
{:file/path "b.md"
:file/content "---\ntitle: b\nalias: [[c]]\n---"}
{:file/path "d.md"
:file/content "---\ntitle: d\n---\n## ref to [[b]]"}]
_ (repo-handler/parse-files-and-load-to-db! test-db files {:re-render? false})
a-aliases (model/page-alias-set test-db "a")
b-aliases (model/page-alias-set test-db "b")
alias-names (model/get-page-alias-names test-db "a")
b-ref-blocks (model/get-page-referenced-blocks test-db "b")
a-ref-blocks (model/get-page-referenced-blocks test-db "a")]
(are [x y] (= x y)
3 (count a-aliases)
1 (count b-ref-blocks)
1 (count a-ref-blocks)
["b" "c"] alias-names)))))
(deftest test-page-alias-without-brackets
[]
(run-db!
(fn []
(let [files [{:file/path "a.md"
:file/content "---\ntitle: a\nalias: b\n---"}
{:file/path "b.md"
:file/content "---\ntitle: b\nalias: c\n---"}
{:file/path "d.md"
:file/content "---\ntitle: d\n---\n## ref to [[b]]"}]
_ (repo-handler/parse-files-and-load-to-db! test-db files {:re-render? false})
a-aliases (model/page-alias-set test-db "a")
b-aliases (model/page-alias-set test-db "b")
alias-names (model/get-page-alias-names test-db "a")
b-ref-blocks (model/get-page-referenced-blocks test-db "b")
a-ref-blocks (model/get-page-referenced-blocks test-db "a")]
(are [x y] (= x y)
3 (count a-aliases)
1 (count b-ref-blocks)
1 (count a-ref-blocks)
["b" "c"] alias-names)))))
(deftest test-page-alias-with-multiple-alias
[]
(run-db!
(fn []
(let [files [{:file/path "a.md"
:file/content "---\ntitle: a\nalias: b, c\n---"}
{:file/path "b.md"
:file/content "---\ntitle: b\nalias: a, d\n---"}
{:file/path "e.md"
:file/content "---\ntitle: e\n---\n## ref to [[b]]"}]
_ (repo-handler/parse-files-and-load-to-db! test-db files {:re-render? false})
a-aliases (model/page-alias-set test-db "a")
b-aliases (model/page-alias-set test-db "b")
alias-names (model/get-page-alias-names test-db "a")
b-ref-blocks (model/get-page-referenced-blocks test-db "b")
a-ref-blocks (model/get-page-referenced-blocks test-db "a")]
(are [x y] (= x y)
4 (count a-aliases)
4 (count b-aliases)
1 (count b-ref-blocks)
1 (count a-ref-blocks)
["b" "c" "d"] alias-names)))))
#_(cljs.test/test-ns 'frontend.db.model-test)