mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
test(e2e): validate-graph for every testcase
This commit is contained in:
@@ -52,3 +52,9 @@
|
||||
(when wait-sync?
|
||||
(w/wait-for "button.cloud.on.idle" {:timeout 20000}))
|
||||
(assert/assert-graph-loaded?))
|
||||
|
||||
(defn validate-graph
|
||||
[]
|
||||
(util/search-and-click "(Dev) Validate current graph")
|
||||
(assert/assert-is-visible ".notifications :has-text('Your graph is valid')")
|
||||
(w/click ".notifications .ls-icon-x"))
|
||||
|
||||
@@ -44,3 +44,11 @@
|
||||
(if (>= local-tx new-tx)
|
||||
local-tx
|
||||
(recur (dec i))))))
|
||||
|
||||
(defn rtc-start
|
||||
[]
|
||||
(util/search-and-click "(Dev) RTC Start"))
|
||||
|
||||
(defn rtc-stop
|
||||
[]
|
||||
(util/search-and-click "(Dev) RTC Stop"))
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
|
||||
(use-fixtures :once fixtures/open-page)
|
||||
|
||||
(use-fixtures :each fixtures/new-logseq-page)
|
||||
(use-fixtures :each
|
||||
fixtures/new-logseq-page
|
||||
fixtures/validate-graph)
|
||||
|
||||
(deftest command-trigger-test
|
||||
(testing "/command trigger popup"
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
(ns logseq.e2e.fixtures
|
||||
(:require [logseq.e2e.config :as config]
|
||||
(:require [logseq.e2e.assert :as assert]
|
||||
[logseq.e2e.config :as config]
|
||||
[logseq.e2e.custom-report :as custom-report]
|
||||
[logseq.e2e.graph :as graph]
|
||||
[logseq.e2e.page :as page]
|
||||
[logseq.e2e.settings :as settings]
|
||||
[wally.main :as w]))
|
||||
|
||||
;; TODO: save trace
|
||||
@@ -15,6 +18,9 @@
|
||||
(w/grant-permissions :clipboard-write :clipboard-read)
|
||||
(binding [custom-report/*pw-contexts* #{(.context (w/get-page))}]
|
||||
(w/navigate (str "http://localhost:" (or port @config/*port)))
|
||||
(settings/developer-mode)
|
||||
(w/refresh)
|
||||
(assert/assert-graph-loaded?)
|
||||
(f))))
|
||||
|
||||
(def *page1 (atom nil))
|
||||
@@ -36,13 +42,17 @@
|
||||
w/*page* (delay (throw (ex-info "Don't use *page*, use *page1* and *page2* instead" {})))]
|
||||
(run!
|
||||
#(w/with-page %
|
||||
(w/navigate (str "http://localhost:" port')))
|
||||
(w/navigate (str "http://localhost:" port'))
|
||||
(settings/developer-mode)
|
||||
(w/refresh))
|
||||
[p1 p2])
|
||||
(f))
|
||||
|
||||
;; use with-page-open to release resources
|
||||
(w/with-page-open p1)
|
||||
(w/with-page-open p2)))
|
||||
(w/with-page-open p2)
|
||||
(reset! *page1 nil)
|
||||
(reset! *page2 nil)))
|
||||
|
||||
(def ^:dynamic *pw-ctx* nil)
|
||||
(defn open-new-context
|
||||
@@ -71,3 +81,13 @@
|
||||
[f]
|
||||
(create-page)
|
||||
(f))
|
||||
|
||||
(defn validate-graph
|
||||
[f]
|
||||
(f)
|
||||
(if (and @*page1 @*page2)
|
||||
(doseq [p [@*page1 @*page2]]
|
||||
(w/with-page p
|
||||
(graph/validate-graph)))
|
||||
|
||||
(graph/validate-graph)))
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
[wally.main :as w]))
|
||||
|
||||
(use-fixtures :once fixtures/open-page)
|
||||
(use-fixtures :each fixtures/new-logseq-page)
|
||||
(use-fixtures :each
|
||||
fixtures/new-logseq-page
|
||||
fixtures/validate-graph)
|
||||
|
||||
(deftest create-test-page-and-insert-blocks
|
||||
;; a page block and a child block
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
|
||||
(use-fixtures :once fixtures/open-page)
|
||||
|
||||
(use-fixtures :each fixtures/new-logseq-page)
|
||||
(use-fixtures :each
|
||||
fixtures/new-logseq-page
|
||||
fixtures/validate-graph)
|
||||
|
||||
;; block references
|
||||
(deftest self-reference
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
|
||||
(use-fixtures :once fixtures/open-2-pages)
|
||||
|
||||
(use-fixtures :each fixtures/validate-graph)
|
||||
|
||||
(deftest rtc-basic-test
|
||||
(let [graph-name (str "rtc-graph-" (.toEpochMilli (java.time.Instant/now)))
|
||||
page-names (map #(str "rtc-test-page" %) (range 4))]
|
||||
|
||||
@@ -23,14 +23,6 @@
|
||||
fixtures/open-2-pages
|
||||
cleanup-fixture)
|
||||
|
||||
(defn- offline
|
||||
[]
|
||||
(.setOffline (.context (w/get-page)) true))
|
||||
|
||||
(defn- online
|
||||
[]
|
||||
(.setOffline (.context (w/get-page)) false))
|
||||
|
||||
(defn- insert-task-blocks
|
||||
[title-prefix]
|
||||
(doseq [status ["Backlog" "Todo" "Doing" "In review" "Done" "Canceled"]
|
||||
@@ -47,6 +39,7 @@
|
||||
2
|
||||
#(w/with-page %
|
||||
(settings/developer-mode)
|
||||
(w/refresh)
|
||||
(util/login-test-account))
|
||||
[@*page1 @*page2])
|
||||
(w/with-page @*page1
|
||||
@@ -57,7 +50,7 @@
|
||||
(testing "rtc-stop app1, add some task blocks, then rtc-start on app1"
|
||||
(let [*latest-remote-tx (atom nil)]
|
||||
(w/with-page @*page1
|
||||
(offline))
|
||||
(rtc/rtc-stop))
|
||||
(w/with-page @*page2
|
||||
(let [{:keys [_local-tx remote-tx]}
|
||||
(rtc/with-wait-tx-updated
|
||||
@@ -66,7 +59,9 @@
|
||||
;; TODO: more operations
|
||||
(util/exit-edit))
|
||||
(w/with-page @*page1
|
||||
(online)
|
||||
(rtc/rtc-start)
|
||||
(repl/pause)
|
||||
(rtc/wait-tx-update-to @*latest-remote-tx)
|
||||
|
||||
;; TODO: check blocks exist
|
||||
)))))
|
||||
|
||||
Reference in New Issue
Block a user