瀏覽代碼

add e2e tests

Tienson Qin 2 月之前
父節點
當前提交
d174b96742

+ 6 - 2
clj-e2e/src/logseq/e2e/util.clj

@@ -72,10 +72,10 @@
 (defn double-esc
   "Exits editing mode and ensure there's no action bar"
   []
-  (when (w/visible? "div[data-radix-popper-content-wrapper]")
+  (when (.isVisible (.first (w/-query "div[data-radix-popper-content-wrapper]")))
     (k/esc))
   (exit-edit)
-  (when (w/visible? "div[data-radix-popper-content-wrapper]")
+  (when (.isVisible (.first (w/-query "div[data-radix-popper-content-wrapper]")))
     (k/esc)))
 
 (defn search
@@ -104,6 +104,10 @@
   []
   (w/wait-for ".editor-wrapper textarea"))
 
+(defn wait-popup-visible
+  []
+  (w/wait-for "div[data-radix-popper-content-wrapper]"))
+
 (defn count-elements
   [q]
   (w/count* (w/-query q)))

+ 11 - 11
clj-e2e/test/logseq/e2e/property_basic_test.clj

@@ -6,8 +6,7 @@
             [logseq.e2e.keyboard :as k]
             [logseq.e2e.locator :as loc]
             [logseq.e2e.util :as util]
-            [wally.main :as w]
-            [wally.repl :as repl]))
+            [wally.main :as w]))
 
 (use-fixtures :once fixtures/open-page)
 
@@ -66,12 +65,13 @@
     (w/click (loc/and "span" (util/get-by-text "Text" true)))
     (w/click (format ".property-pair:has-text('%s') > .ls-block" property-name))
     (util/input "Text")
-    (k/esc)
-    (repl/pause)
-    (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
-    (w/click (w/get-by-text "Property type"))
-    (w/click (loc/and "span" (util/get-by-text "Number" true)))
-    (k/esc)
-    (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
-    (assert/assert-is-visible (w/get-by-text "Property type"))
-    (assert/assert-is-visible (w/get-by-text "Number"))))
+    (util/double-esc)
+    (doseq [property-type (rest property-types)]
+      (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
+      (w/click (w/get-by-text "Property type"))
+      (w/click (loc/and "span" (util/get-by-text property-type true)))
+      (k/esc)
+      (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
+      (assert/assert-is-visible (w/get-by-text "Property type"))
+      (assert/assert-is-visible (w/get-by-text property-type))
+      (k/esc))))

+ 2 - 1
src/main/frontend/components/property/config.cljs

@@ -556,7 +556,8 @@
                                (db-property-handler/set-block-property! (:db/id owner-block) (:db/ident new-property)
                                                                         (if (= (keyword v) :checkbox)
                                                                           false
-                                                                          :logseq.property/empty-placeholder))))))
+                                                                          :logseq.property/empty-placeholder)))
+                             (shui/popup-hide-all!))))
         item-props {:on-select handle-select!}
         schema-types (->> db-property-type/user-built-in-property-types
                           (map (fn [type]