Browse Source

test(e2e): split ns logseq.e2e.keyboard

rcmerci 8 months ago
parent
commit
71fb858cd9

+ 12 - 0
clj-e2e/src/logseq/e2e/keyboard.clj

@@ -0,0 +1,12 @@
+(ns logseq.e2e.keyboard
+  (:require [wally.main :as w]))
+
+(def press w/keyboard-press)
+
+(def enter #(press "Enter"))
+(def esc #(press "Escape"))
+(def backspace #(press "Backspace"))
+(def tab #(press "Tab"))
+(def shift+tab #(press "Shift+Tab"))
+(def arrow-up #(press "ArrowUp"))
+(def arrow-down #(press "ArrowDown"))

+ 8 - 9
clj-e2e/src/logseq/e2e/util.clj

@@ -3,7 +3,8 @@
   (:require [clojure.string :as string]
             [clojure.test :refer [is]]
             [wally.main :as w]
-            [wally.selectors :as ws])
+            [wally.selectors :as ws]
+            [logseq.e2e.keyboard :as k])
   (:import [com.microsoft.playwright TimeoutError]
            [com.microsoft.playwright.assertions PlaywrightAssertions]))
 
@@ -38,8 +39,6 @@
   (let [input-node (w/-query "*:focus")]
     (.type input-node text)))
 
-(def press w/keyboard-press)
-
 (defn search
   [text]
   (w/click :#search-button)
@@ -68,7 +67,7 @@
 
 (defn new-block
   [title]
-  (press "Enter")
+  (k/enter)
   (input title))
 
 (defn save-block
@@ -77,14 +76,14 @@
 
 (defn exit-edit
   []
-  (press "Escape"))
+  (k/esc))
 
 (defn delete-blocks
   "Delete the current block if in editing mode, otherwise, delete all the selected blocks."
   []
   (let [editor (get-editor)]
     (when editor (exit-edit))
-    (press "Backspace")))
+    (k/backspace)))
 
 (defn get-text
   [locator]
@@ -118,7 +117,7 @@
   [indent?]
   (let [editor (get-editor)
         [x1 _] (bounding-xy editor)
-        _ (press (if indent? "Tab" "Shift+Tab"))
+        _ (if indent? (k/tab) (k/shift+tab))
         [x2 _] (bounding-xy editor)]
     (if indent?
       (is (< x1 x2))
@@ -139,7 +138,7 @@
 (defn repeat-keyboard
   [n shortcut]
   (dotimes [_i n]
-    (press shortcut)))
+    (k/press shortcut)))
 
 (defn get-page-blocks-contents
   []
@@ -155,7 +154,7 @@
   (w/click "button[title=\"More\"]")
   (w/click "div:text(\"Login\")")
   (input username)
-  (press "Tab")
+  (k/tab)
   (input password)
   (w/click "button[type=\"submit\"]:text(\"Sign in\")")
   (w/wait-for-not-visible ".cp__user-login"))

+ 7 - 6
clj-e2e/test/logseq/e2e/editor_test.clj

@@ -3,7 +3,8 @@
    [clojure.string :as string]
    [clojure.test :refer [deftest testing is use-fixtures]]
    [logseq.e2e.fixtures :as fixtures]
-   [logseq.e2e.util :as util :refer [press]]
+   [logseq.e2e.keyboard :as k]
+   [logseq.e2e.util :as util]
    [wally.main :as w]))
 
 (use-fixtures :once fixtures/open-page)
@@ -15,7 +16,7 @@
     (util/type " /")
     (w/wait-for ".ui__popover-content")
     (is (some? (w/find-one-by-text "span" "Node reference")))
-    (press "Backspace")
+    (k/backspace)
     (w/wait-for-not-visible ".ui__popover-content"))
 
   (testing "Node reference"
@@ -23,9 +24,9 @@
       (util/new-block "/")
       (util/type "Node eferen")
       (w/wait-for ".ui__popover-content")
-      (press "Enter")
+      (k/enter)
       (util/type "Another page")
-      (press "Enter")
+      (k/enter)
       (is (= "[[Another page]]" (util/get-edit-content)))
       (util/exit-edit)
       (is (= "Another page" (util/get-text "a.page-ref"))))
@@ -33,10 +34,10 @@
       (util/new-block "/")
       (util/type "Node eferen")
       (w/wait-for ".ui__popover-content")
-      (press "Enter")
+      (k/enter)
       (util/type "b1")
       (util/wait-timeout 300)
-      (press "Enter")
+      (k/enter)
       (is (string/includes? (util/get-edit-content) "[["))
       (util/exit-edit)
       (is (= "b1" (util/get-text ".block-ref"))))))

+ 6 - 5
clj-e2e/test/logseq/e2e/outliner_test.clj

@@ -2,7 +2,8 @@
   (:require
    [clojure.test :refer [deftest testing is use-fixtures]]
    [logseq.e2e.fixtures :as fixtures]
-   [logseq.e2e.util :as util :refer [press]]
+   [logseq.e2e.keyboard :as k]
+   [logseq.e2e.util :as util]
    [wally.main :as w]))
 
 (use-fixtures :once fixtures/open-page)
@@ -25,7 +26,7 @@
   (testing "indent a block with its children"
     (util/new-block "b3")
     (util/indent)
-    (press "ArrowUp")
+    (k/arrow-up)
     (util/indent)
     (util/exit-edit)
     (let [[x1 x2 x3] (map (comp first util/bounding-xy #(w/find-one-by-text "span" %)) ["b1" "b2" "b3"])]
@@ -35,7 +36,7 @@
     (util/open-last-block)
     (util/new-blocks ["b4" "b5"])
     (util/indent)
-    (util/press "ArrowUp")
+    (k/arrow-up)
     (util/outdent)
     (util/exit-edit)
     (let [[x2 x3 x4 x5] (map (comp first util/bounding-xy #(w/find-one-by-text "span" %)) ["b2" "b3" "b4" "b5"])]
@@ -68,9 +69,9 @@
     (util/new-page "p5")
     (util/new-blocks ["b1" "b2" "b3" "b4"])
     (util/indent)
-    (press "ArrowUp")
+    (k/arrow-up)
     (util/indent)
-    (press "ArrowUp")
+    (k/arrow-up)
     (util/delete-blocks)
     (is (= "b1" (util/get-edit-content)))
     (is (= 1 (util/page-blocks-count)))))