Browse Source

Add e2e tests for get_all_tags|properties|tag_objects

Tienson Qin 4 days ago
parent
commit
bbb6d8aeb3
2 changed files with 36 additions and 3 deletions
  1. 31 0
      clj-e2e/test/logseq/e2e/plugins_basic_test.clj
  2. 5 3
      src/main/logseq/api/block.cljs

+ 31 - 0
clj-e2e/test/logseq/e2e/plugins_basic_test.clj

@@ -306,3 +306,34 @@
         ":logseq.class/Tag"
         (-> (ls-api-call! :editor.getBlock (first (get result "tags")))
             (get "ident")))))))
+
+(deftest get-all-tags-test
+  (testing "get_all_tags"
+    (let [result (ls-api-call! :editor.get_all_tags)
+          built-in-tags #{":logseq.class/Template"
+                          ":logseq.class/Query"
+                          ":logseq.class/Math-block"
+                          ":logseq.class/Pdf-annotation"
+                          ":logseq.class/Task"
+                          ":logseq.class/Code-block"
+                          ":logseq.class/Card"
+                          ":logseq.class/Quote-block"
+                          ":logseq.class/Cards"}]
+      (is (= (set (map #(get % "ident") result)) built-in-tags)))))
+
+(deftest get-all-properties-test
+  (testing "get_all_properties"
+    (let [result (ls-api-call! :editor.get_all_properties)]
+      (is (>= (count result) 94)))))
+
+(deftest get-tag-objects-test
+  (testing "get_tag_objects"
+    (let [page "tag objects test"
+          _ (page/new-page page)
+          _ (ls-api-call! :editor.insertBlock page "task 1"
+                          ;; FIXME: "Doing" doesn't work here
+                          {:properties {"logseq.property/status" "Doing"}})
+          _ (repl/pause)
+          result (ls-api-call! :editor.get_tag_objects "logseq.class/Task")]
+      (is (= (count result) 1))
+      (is (= "task 1" (get (first result) "title"))))))

+ 5 - 3
src/main/logseq/api/block.cljs

@@ -48,9 +48,11 @@
 (defn get-db-ident-from-property-name
   "Finds a property :db/ident for a given property name"
   [property-name plugin]
-  (let [property-name' (if-not (string? property-name)
-                         (str property-name)
-                         property-name)
+  (let [property-name' (->
+                        (if-not (string? property-name)
+                          (str property-name)
+                          property-name)
+                        (string/replace #"^:+" ""))
         property-key (keyword property-name')]
     (if (qualified-keyword? property-key)
       property-key