|
|
@@ -15,7 +15,8 @@
|
|
|
[logseq.e2e.rtc :as rtc]
|
|
|
[logseq.e2e.settings :as settings]
|
|
|
[logseq.e2e.util :as util]
|
|
|
- [wally.main :as w]))
|
|
|
+ [wally.main :as w]
|
|
|
+ [wally.repl :as repl]))
|
|
|
|
|
|
(defn- prepare-rtc-graph-fixture
|
|
|
"open 2 app instances, add a rtc graph, check this graph available on other instance"
|
|
|
@@ -286,3 +287,63 @@ page2:
|
|
|
(k/enter)
|
|
|
(b/indent)))
|
|
|
(validate-2-graphs))))
|
|
|
+
|
|
|
+(deftest rtc-page-test
|
|
|
+ (let [prefix "rtc-page-test-"]
|
|
|
+ ;; (testing "create same name page in different clients.
|
|
|
+;; - client1: offline, create page1
|
|
|
+;; - client2: offline, create page1
|
|
|
+;; - restart rtc"
|
|
|
+;; (rtc/with-stop-restart-rtc
|
|
|
+;; [@*page1 @*page2]
|
|
|
+;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-1"))
|
|
|
+;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-1"))]
|
|
|
+;; (w/with-page @*page1
|
|
|
+;; (page/new-page (str prefix 1)))
|
|
|
+;; (w/with-page @*page2
|
|
|
+;; (page/new-page (str prefix 1))))
|
|
|
+;; (validate-2-graphs))
|
|
|
+
|
|
|
+;; (testing "
|
|
|
+;; - client1: offline, add blocks on page-2
|
|
|
+;; - client2: offline, delete page-2"
|
|
|
+;; (let [page-name (str prefix 2)]
|
|
|
+;; (let [*latest-remote-tx (atom nil)]
|
|
|
+;; (w/with-page @*page1
|
|
|
+;; (let [{:keys [_local-tx remote-tx]}
|
|
|
+;; (rtc/with-wait-tx-updated
|
|
|
+;; (page/new-page page-name))]
|
|
|
+;; (reset! *latest-remote-tx remote-tx)))
|
|
|
+;; (w/with-page @*page2
|
|
|
+;; (rtc/wait-tx-update-to @*latest-remote-tx)))
|
|
|
+;; (validate-2-graphs)
|
|
|
+
|
|
|
+;; (rtc/with-stop-restart-rtc
|
|
|
+;; [@*page1 @*page2]
|
|
|
+;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-2"))
|
|
|
+;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-2"))]
|
|
|
+;; (w/with-page @*page1
|
|
|
+;; (b/new-blocks (map #(str "block-" %) (range 5))))
|
|
|
+;; (w/with-page @*page2
|
|
|
+;; (page/delete-page page-name)))
|
|
|
+;; (validate-2-graphs)))
|
|
|
+ (testing "page rename"
|
|
|
+ (let [page-name (str prefix 3)]
|
|
|
+ (let [*latest-remote-tx (atom nil)]
|
|
|
+ (w/with-page @*page1
|
|
|
+ (let [{:keys [_local-tx remote-tx]}
|
|
|
+ (rtc/with-wait-tx-updated
|
|
|
+ (page/new-page page-name))]
|
|
|
+ (reset! *latest-remote-tx remote-tx)))
|
|
|
+ (w/with-page @*page2
|
|
|
+ (rtc/wait-tx-update-to @*latest-remote-tx)))
|
|
|
+ (validate-2-graphs)
|
|
|
+ (rtc/with-stop-restart-rtc
|
|
|
+ [@*page1 @*page2]
|
|
|
+ [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-3"))
|
|
|
+ @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-3"))]
|
|
|
+ (w/with-page @*page1
|
|
|
+ (page/rename-page page-name (str page-name "-rename1")))
|
|
|
+ (w/with-page @*page2
|
|
|
+ (page/rename-page page-name (str page-name "-rename2"))))
|
|
|
+ (validate-2-graphs)))))
|