mirror of
https://github.com/logseq/logseq.git
synced 2026-05-03 02:16:30 +00:00
test(e2e): update logseq.e2e.rtc-extra-test
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
(defn wait-tx-update-to
|
(defn wait-tx-update-to
|
||||||
[new-tx]
|
[new-tx]
|
||||||
|
(assert (int? new-tx))
|
||||||
(loop [i 5]
|
(loop [i 5]
|
||||||
(when (zero? i) (throw (ex-info "wait-tx-update-to" {:update-to new-tx})))
|
(when (zero? i) (throw (ex-info "wait-tx-update-to" {:update-to new-tx})))
|
||||||
(util/wait-timeout 1000)
|
(util/wait-timeout 1000)
|
||||||
|
|||||||
@@ -2,23 +2,23 @@
|
|||||||
(:require
|
(:require
|
||||||
[clojure.test :refer [deftest testing is use-fixtures run-tests]]
|
[clojure.test :refer [deftest testing is use-fixtures run-tests]]
|
||||||
[com.climate.claypoole :as cp]
|
[com.climate.claypoole :as cp]
|
||||||
|
[logseq.e2e.block :as b]
|
||||||
[logseq.e2e.fixtures :as fixtures :refer [*page1 *page2]]
|
[logseq.e2e.fixtures :as fixtures :refer [*page1 *page2]]
|
||||||
[logseq.e2e.graph :as graph]
|
[logseq.e2e.graph :as graph]
|
||||||
|
[logseq.e2e.rtc :as rtc]
|
||||||
[logseq.e2e.util :as util]
|
[logseq.e2e.util :as util]
|
||||||
[wally.main :as w]
|
[wally.main :as w]
|
||||||
[wally.repl :as repl]
|
[wally.repl :as repl]))
|
||||||
[logseq.e2e.block :as b]))
|
|
||||||
|
|
||||||
(use-fixtures :once fixtures/open-2-pages)
|
(use-fixtures :once fixtures/open-2-pages)
|
||||||
|
|
||||||
(defn- offline
|
(defn- offline
|
||||||
[offline?]
|
|
||||||
(.setOffline (.context (w/get-page)) offline?))
|
|
||||||
|
|
||||||
(defn- wait-for-ops-synced
|
|
||||||
[]
|
[]
|
||||||
(w/wait-for "button.cloud.on.queuing" {:timeout 1000})
|
(.setOffline (.context (w/get-page)) true))
|
||||||
(w/wait-for "button.cloud.on.idle" {:timeout 5000}))
|
|
||||||
|
(defn- online
|
||||||
|
[]
|
||||||
|
(.setOffline (.context (w/get-page)) false))
|
||||||
|
|
||||||
(deftest rtc-extra-test
|
(deftest rtc-extra-test
|
||||||
(let [graph-name (str "rtc-extra-test-graph-" (.toEpochMilli (java.time.Instant/now)))]
|
(let [graph-name (str "rtc-extra-test-graph-" (.toEpochMilli (java.time.Instant/now)))]
|
||||||
@@ -34,14 +34,24 @@
|
|||||||
(graph/wait-for-remote-graph graph-name)
|
(graph/wait-for-remote-graph graph-name)
|
||||||
(graph/switch-graph graph-name true)))
|
(graph/switch-graph graph-name true)))
|
||||||
(testing "rtc-stop app1, update app2, then rtc-start on app1"
|
(testing "rtc-stop app1, update app2, then rtc-start on app1"
|
||||||
|
(let [*latest-remote-tx (atom nil)]
|
||||||
(w/with-page @*page1
|
(w/with-page @*page1
|
||||||
(offline true))
|
(offline))
|
||||||
(w/with-page @*page2
|
(w/with-page @*page2
|
||||||
|
(let [{:keys [_local-tx remote-tx]}
|
||||||
|
(rtc/with-wait-tx-updated
|
||||||
(dotimes [_i 3]
|
(dotimes [_i 3]
|
||||||
(b/new-blocks (map #(str "b" %) (range 10)))
|
(doseq [i (range 10)]
|
||||||
(wait-for-ops-synced))
|
(b/new-block (str "b" i))
|
||||||
|
(util/input-command "Doing"))))]
|
||||||
|
(reset! *latest-remote-tx remote-tx))
|
||||||
;; TODO: more operations
|
;; TODO: more operations
|
||||||
(repl/pause)
|
(util/exit-edit))
|
||||||
)
|
(w/with-page @*page1
|
||||||
)
|
(online)
|
||||||
))
|
(rtc/wait-tx-update-to @*latest-remote-tx)
|
||||||
|
;; TODO: check blocks exist
|
||||||
|
)))
|
||||||
|
(testing "cleanup"
|
||||||
|
(w/with-page @*page2
|
||||||
|
(graph/remove-remote-graph graph-name)))))
|
||||||
|
|||||||
Reference in New Issue
Block a user