test(alias): add more tests

This commit is contained in:
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

@@ -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)