瀏覽代碼

test(e2e): update config vars, add fn cancel in user ns

rcmerci 6 月之前
父節點
當前提交
de667bfd63

+ 17 - 6
clj-e2e/dev/user.clj

@@ -1,13 +1,13 @@
 (ns user
   "fns used on repl"
   (:require [clojure.test :refer [run-tests run-test]]
+            [logseq.e2e.config :as config]
             [logseq.e2e.editor-test]
             [logseq.e2e.fixtures :as fixtures]
+            [logseq.e2e.multi-tabs-test]
             [logseq.e2e.outliner-test]
             [logseq.e2e.rtc-basic-test]
-            [logseq.e2e.multi-tabs-test]
             [logseq.e2e.util :as util]
-            [logseq.e2e.config :as config]
             [wally.main :as w]
             [wally.repl :as repl]))
 
@@ -16,21 +16,32 @@
 ;; show ui
 (reset! config/*headless false)
 
+(def *futures (atom {}))
+
+(defn cancel
+  [test-name]
+  (some-> (get @*futures test-name) future-cancel)
+  (swap! *futures dissoc test-name))
+
 (defn run-editor-test
   []
-  (future (run-tests 'logseq.e2e.editor-test)))
+  (->> (future (run-tests 'logseq.e2e.editor-test))
+       (swap! *futures assoc :editor-test)))
 
 (defn run-outliner-test
   []
-  (future (run-tests 'logseq.e2e.outliner-test)))
+  (->> (future (run-tests 'logseq.e2e.outliner-test))
+       (swap! *futures assoc :outliner-test)))
 
 (defn run-rtc-basic-test
   []
-  (future (run-tests 'logseq.e2e.rtc-basic-test)))
+  (->> (future (run-tests 'logseq.e2e.rtc-basic-test))
+       (swap! *futures assoc :rtc-basic-test)))
 
 (defn run-multi-tabs-test
   []
-  (future (run-tests 'logseq.e2e.multi-tabs-test)))
+  (->> (future (run-tests 'logseq.e2e.multi-tabs-test))
+       (swap! *futures assoc :multi-tabs-test)))
 
 (comment
 

+ 1 - 0
clj-e2e/src/logseq/e2e/config.clj

@@ -2,3 +2,4 @@
 
 (defonce *port (atom 3002))
 (defonce *headless (atom true))
+(defonce *slow-mo 100)                  ; Set `slow-mo` lower to find more flaky tests

+ 4 - 6
clj-e2e/test/logseq/e2e/fixtures.clj

@@ -10,9 +10,7 @@
   (w/with-page-open
     (w/make-page {:headless (or headless @config/*headless)
                   :persistent false
-                  :slow-mo 100
-                  ;; Set `slow-mo` lower to find more flaky tests
-                  ;; :slow-mo 30
+                  :slow-mo @config/*slow-mo
                   })
     (w/navigate (str "http://localhost:" (or port @config/*port)))
     (f)))
@@ -26,7 +24,7 @@
   (let [headless (or headless @config/*headless)
         page-opts {:headless headless
                    :persistent false
-                   :slow-mo 100}
+                   :slow-mo @config/*slow-mo}
         p1 (w/make-page page-opts)
         p2 (w/make-page page-opts)
         port' (or port @config/*port)]
@@ -46,9 +44,9 @@
 (defn open-new-context
   "create a new playwright-context in `*pw-ctx*`"
   [f]
-  (let [page-opts {:headless false
+  (let [page-opts {:headless @config/*headless
                    :persistent false
-                   :slow-mo 100}
+                   :slow-mo @config/*slow-mo}
         p @(w/make-page page-opts)
         ctx (.newContext (.browser (.context p)))]
     ;; context for p is no longer needed

+ 7 - 7
clj-e2e/test/logseq/e2e/multi_tabs_test.clj

@@ -2,18 +2,18 @@
   (:require
    [clojure.test :refer [deftest testing is use-fixtures]]
    [logseq.e2e.fixtures :as fixtures]
+   [logseq.e2e.playwright-page :as pw-page]
    [logseq.e2e.util :as util]
    [wally.main :as w]
-   [wally.repl :as repl]
-   [logseq.e2e.playwright-page :as pw-page]))
+   [wally.repl :as repl]))
 
 (use-fixtures :once fixtures/open-new-context)
 
 (deftest multi-tabs-test
   (testing "create 3 local graphs"
     (pw-page/open-pages fixtures/*pw-ctx* 3)
-    (is (= 3 (count (pw-page/get-pages fixtures/*pw-ctx*))))
-    ;; (util/new-graph "graph1" false)
-    ;; (util/new-graph "graph2" false)
-    ;; (util/new-graph "graph3" false)
-    ))
+    (let [pages (pw-page/get-pages fixtures/*pw-ctx*)
+          p1 (first pages)]
+      (is (= 3 (count pages)))
+      (w/with-page p1
+        (repl/pause)))))