|
|
@@ -2,7 +2,9 @@
|
|
|
(:require [cljs.test :refer [deftest is]]
|
|
|
[logseq.db.frontend.schema :as db-schema]
|
|
|
[datascript.core :as d]
|
|
|
- [logseq.db :as ldb]))
|
|
|
+ [logseq.db :as ldb]
|
|
|
+ [logseq.db.sqlite.create-graph :as sqlite-create-graph]
|
|
|
+ [logseq.db.sqlite.build :as sqlite-build]))
|
|
|
|
|
|
|
|
|
;;; datoms
|
|
|
@@ -27,3 +29,27 @@
|
|
|
(try (ldb/get-block-children-ids db #uuid "e538d319-48d4-4a6d-ae70-c03bb55b6fe4")
|
|
|
(catch :default e
|
|
|
(ex-message e)))))))
|
|
|
+
|
|
|
+(def class-parents-data
|
|
|
+ [{:block/type "class"
|
|
|
+ :block/title "x"
|
|
|
+ :block/name "x"
|
|
|
+ :block/uuid #uuid "6c353967-f79b-4785-b804-a39b81d72461"}
|
|
|
+ {:block/type "class"
|
|
|
+ :block/title "y"
|
|
|
+ :block/name "y"
|
|
|
+ :block/uuid #uuid "7008db08-ba0c-4aa9-afc6-7e4783e40a99"
|
|
|
+ :logseq.property/parent [:block/uuid #uuid "6c353967-f79b-4785-b804-a39b81d72461"]}
|
|
|
+ {:block/type "class"
|
|
|
+ :block/title "z"
|
|
|
+ :block/name "z"
|
|
|
+ :block/uuid #uuid "d95f2912-a7af-41b9-8ed5-28861f7fc0be"
|
|
|
+ :logseq.property/parent [:block/uuid #uuid "7008db08-ba0c-4aa9-afc6-7e4783e40a99"]}])
|
|
|
+
|
|
|
+(deftest get-class-parents-test
|
|
|
+ (let [conn (d/create-conn db-schema/schema-for-db-based-graph)]
|
|
|
+ (d/transact! conn (sqlite-create-graph/build-db-initial-data "{}"))
|
|
|
+ (d/transact! conn class-parents-data)
|
|
|
+ (->> (ldb/get-class-parents (ldb/get-page @conn "z"))
|
|
|
+ (map #(:block/title (d/entity @conn %)))
|
|
|
+ (= #{"x" "y"}))))
|