|
|
@@ -7,29 +7,41 @@
|
|
|
[promesa.core :as p]))
|
|
|
|
|
|
(def test-files
|
|
|
- [{:file/path "pages/page1.md"
|
|
|
- :file/content
|
|
|
- (string/trim "
|
|
|
-- 1
|
|
|
- id:: 61506710-484c-46d5-9983-3d1651ec02c8
|
|
|
- - 2
|
|
|
- id:: 61506711-5638-4899-ad78-187bdc2eaffc
|
|
|
- - 3
|
|
|
- id:: 61506712-3007-407e-b6d3-d008a8dfa88b
|
|
|
- - ((61506712-3007-407e-b6d3-d008a8dfa88b))
|
|
|
-- 4
|
|
|
- id:: 61506712-b8a7-491d-ad84-b71651c3fdab")}
|
|
|
- {:file/path "pages/page2.md"
|
|
|
- :file/content
|
|
|
- (string/trim "
|
|
|
-- 3
|
|
|
- id:: 97a00e55-48c3-48d8-b9ca-417b16e3a616
|
|
|
- - {{embed [[page1]]}}")}])
|
|
|
+ (let [uuid-1 #uuid "61506710-484c-46d5-9983-3d1651ec02c8"
|
|
|
+ uuid-2 #uuid "61506711-5638-4899-ad78-187bdc2eaffc"
|
|
|
+ uuid-3 #uuid "61506712-3007-407e-b6d3-d008a8dfa88b"
|
|
|
+ uuid-4 #uuid "61506712-b8a7-491d-ad84-b71651c3fdab"
|
|
|
+ uuid-p2 #uuid "97a00e55-48c3-48d8-b9ca-417b16e3a616"]
|
|
|
+ [{:page {:block/title "page1"}
|
|
|
+ :blocks
|
|
|
+ [{:block/title "1"
|
|
|
+ :build/keep-uuid? true
|
|
|
+ :block/uuid uuid-1
|
|
|
+ :build/children
|
|
|
+ [{:block/title "2"
|
|
|
+ :build/keep-uuid? true
|
|
|
+ :block/uuid uuid-2
|
|
|
+ :build/children
|
|
|
+ [{:block/title "3"
|
|
|
+ :build/keep-uuid? true
|
|
|
+ :block/uuid uuid-3}
|
|
|
+ {:block/title (str "[[" uuid-3 "]]")}]}]}
|
|
|
+
|
|
|
+ {:block/title "4"
|
|
|
+ :build/keep-uuid? true
|
|
|
+ :block/uuid uuid-4}]}
|
|
|
+ {:page {:block/title "page2"}
|
|
|
+ :blocks
|
|
|
+ [{:block/title "3"
|
|
|
+ :build/keep-uuid? true
|
|
|
+ :block/uuid uuid-p2
|
|
|
+ :build/children
|
|
|
+ [{:block/title "{{embed [[page1]]}}"}]}]}]))
|
|
|
|
|
|
(use-fixtures :once
|
|
|
{:before (fn []
|
|
|
(async done
|
|
|
- (test-helper/start-test-db!)
|
|
|
+ (test-helper/start-test-db! {:db-graph? true})
|
|
|
(p/let [_ (test-helper/load-test-files test-files)]
|
|
|
(done))))
|
|
|
:after test-helper/destroy-test-db!})
|
|
|
@@ -43,7 +55,7 @@
|
|
|
- 1
|
|
|
- 2
|
|
|
- 3
|
|
|
- - 3")
|
|
|
+ - [[3]]")
|
|
|
"61506710-484c-46d5-9983-3d1651ec02c8"
|
|
|
|
|
|
(string/trim "
|
|
|
@@ -51,38 +63,10 @@
|
|
|
- 1
|
|
|
- 2
|
|
|
- 3
|
|
|
- - 3
|
|
|
+ - [[3]]
|
|
|
- 4")
|
|
|
"97a00e55-48c3-48d8-b9ca-417b16e3a616"))
|
|
|
|
|
|
-
|
|
|
-(deftest export-blocks-as-markdown-with-properties
|
|
|
- (are [expect block-uuid-s]
|
|
|
- (= expect (string/trim (export-text/export-blocks-as-markdown (state/get-current-repo) [(uuid block-uuid-s)] {})))
|
|
|
- (string/trim "
|
|
|
-- 1
|
|
|
- id:: 61506710-484c-46d5-9983-3d1651ec02c8
|
|
|
- - 2
|
|
|
- id:: 61506711-5638-4899-ad78-187bdc2eaffc
|
|
|
- - 3
|
|
|
- id:: 61506712-3007-407e-b6d3-d008a8dfa88b
|
|
|
- - 3")
|
|
|
- "61506710-484c-46d5-9983-3d1651ec02c8"
|
|
|
-
|
|
|
- (string/trim "
|
|
|
-- 3
|
|
|
- id:: 97a00e55-48c3-48d8-b9ca-417b16e3a616
|
|
|
- - 1
|
|
|
- id:: 61506710-484c-46d5-9983-3d1651ec02c8
|
|
|
- - 2
|
|
|
- id:: 61506711-5638-4899-ad78-187bdc2eaffc
|
|
|
- - 3
|
|
|
- id:: 61506712-3007-407e-b6d3-d008a8dfa88b
|
|
|
- - 3
|
|
|
- - 4
|
|
|
- id:: 61506712-b8a7-491d-ad84-b71651c3fdab")
|
|
|
- "97a00e55-48c3-48d8-b9ca-417b16e3a616"))
|
|
|
-
|
|
|
(deftest export-blocks-as-markdown-level<N
|
|
|
(are [expect block-uuid-s]
|
|
|
(= expect (string/trim (export-text/export-blocks-as-markdown (state/get-current-repo) [(uuid block-uuid-s)]
|
|
|
@@ -111,7 +95,7 @@
|
|
|
|
|
|
- 3
|
|
|
|
|
|
- - 3")
|
|
|
+ - [[3]]")
|
|
|
"61506710-484c-46d5-9983-3d1651ec02c8"
|
|
|
(string/trim "
|
|
|
- 3
|
|
|
@@ -122,30 +106,18 @@
|
|
|
|
|
|
- 3
|
|
|
|
|
|
- - 3
|
|
|
+ - [[3]]
|
|
|
|
|
|
- 4")
|
|
|
"97a00e55-48c3-48d8-b9ca-417b16e3a616"))
|
|
|
|
|
|
-
|
|
|
(deftest-async export-files-as-markdown
|
|
|
(p/do!
|
|
|
(are [expect files]
|
|
|
- (= expect
|
|
|
- (@#'export-text/export-files-as-markdown files {:remove-options #{:property}}))
|
|
|
- [["pages/page1.md" "- 1\n\t- 2\n\t\t- 3\n\t\t- 3\n- 4\n"]]
|
|
|
- [{:path "pages/page1.md" :content (:file/content (nth test-files 0)) :names ["page1"] :format :markdown}]
|
|
|
-
|
|
|
- [["pages/page2.md" "- 3\n\t- 1\n\t\t- 2\n\t\t\t- 3\n\t\t\t- 3\n\t- 4\n"]]
|
|
|
- [{:path "pages/page2.md" :content (:file/content (nth test-files 1)) :names ["page2"] :format :markdown}])))
|
|
|
-
|
|
|
-;; Disabled because this requires db worker
|
|
|
-#_(deftest-async export-repo-as-edn-str
|
|
|
- (p/let [result (@#'export/<export-repo-as-edn-str (state/get-current-repo))
|
|
|
- edn-output (edn/read-string result)]
|
|
|
- (is (= #{:version :blocks} (set (keys edn-output)))
|
|
|
- "Correct top-level keys")
|
|
|
- (is (= (sort (concat (map :block/title gp-db/built-in-pages)
|
|
|
- ["page1" "page2"]))
|
|
|
- (sort (map :block/page-name (:blocks edn-output))))
|
|
|
- "Correct pages")))
|
|
|
+ (= expect
|
|
|
+ (@#'export-text/export-files-as-markdown files {:remove-options #{:property}}))
|
|
|
+ [["pages/page1.md" "- 1\n\t- 2\n\t\t- 3\n\t\t- 3\n- 4\n"]]
|
|
|
+ [{:path "pages/page1.md" :content "- 1\n\t- 2\n\t\t- 3\n\t\t- 3\n- 4\n" :names ["page1"] :format :markdown}]
|
|
|
+
|
|
|
+ [["pages/page2.md" "- 3\n\t- 1\n\t\t- 2\n\t\t\t- 3\n\t\t\t- 3\n\t- 4\n"]]
|
|
|
+ [{:path "pages/page2.md" :content "- 3\n\t- 1\n\t\t- 2\n\t\t\t- 3\n\t\t\t- 3\n\t- 4\n" :names ["page2"] :format :markdown}])))
|