Files
logseq/clj-e2e/dev/user.clj
2025-05-01 18:05:40 +08:00

92 lines
2.4 KiB
Clojure

(ns user
"fns used on repl"
(:require [clojure.test :refer [run-tests run-test]]
[logseq.e2e.block :as b]
[logseq.e2e.commands-test]
[logseq.e2e.config :as config]
[logseq.e2e.fixtures :as fixtures]
[logseq.e2e.graph :as graph]
[logseq.e2e.keyboard :as k]
[logseq.e2e.multi-tabs-test]
[logseq.e2e.outliner-test]
[logseq.e2e.rtc-basic-test]
[logseq.e2e.util :as util]
[wally.main :as w]
[wally.repl :as repl]))
;; Use port 3001 for local testing
(reset! config/*port 3001)
;; show ui
(reset! config/*headless false)
(reset! config/*slow-mo 100)
(def *futures (atom {}))
(defn cancel
[test-name]
(some-> (get @*futures test-name) future-cancel)
(swap! *futures dissoc test-name))
(defn run-commands-test
[]
(->> (future (run-tests 'logseq.e2e.commands-test))
(swap! *futures assoc :commands-test)))
(defn run-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))
(swap! *futures assoc :rtc-basic-test)))
(defn run-multi-tabs-test
[]
(->> (future (run-tests 'logseq.e2e.multi-tabs-test))
(swap! *futures assoc :multi-tabs-test)))
(defn run-all-test
[]
(run-tests 'logseq.e2e.commands-test
'logseq.e2e.multi-tabs-test
'logseq.e2e.outliner-test
'logseq.e2e.rtc-basic-test))
(comment
(future
(fixtures/open-page
repl/pause
{:headless false}))
;; You can put `(repl/pause)` in any test to pause the tests,
;; this allows us to continue experimenting with the current page.
(repl/pause)
;; To resume the tests, close the page/context/browser
(repl/resume)
;; Run specific test
(future (run-test logseq.e2e.editor-test/commands-test))
;; after the test has been paused, you can do anything with the current page like this
(repl/with-page
(w/wait-for (first (util/get-edit-block-container))
{:state :detached}))
(run-tests 'logseq.e2e.commands-test
'logseq.e2e.multi-tabs-test
'logseq.e2e.outliner-test
'logseq.e2e.rtc-basic-test)
(do
(reset! config/*headless true)
(reset! config/*slow-mo 100)
(dotimes [i 5]
(run-multi-tabs-test)))
;;
)