Browse Source

test(rtc): add change-property-type test

rcmerci 2 tháng trước cách đây
mục cha
commit
e3b90a0fb8

+ 25 - 23
clj-e2e/test/logseq/e2e/property_basic_test.clj

@@ -51,27 +51,29 @@
   (let [title-prefix "new-property-test"]
     (add-new-properties title-prefix)))
 
+(defn change-property-type
+  [title property-name property-types]
+  (b/new-block title)
+  (w/click (util/get-by-text title true))
+  (k/press "Control+e")
+  (util/input-command "Add new property")
+  (w/click "input[placeholder]")
+  (util/input property-name)
+  (w/click (util/get-by-text "New option:" false))
+  (assert/assert-is-visible (w/get-by-text "Select a property type"))
+  (w/click (loc/and "span" (util/get-by-text (first property-types) true)))
+  (w/click (format ".property-pair:has-text('%s') > .ls-block" property-name))
+  (util/input "Text")
+  (util/double-esc)
+  (doseq [property-type (rest property-types)]
+    (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
+    (w/click (w/get-by-text "Property type"))
+    (w/click (loc/and "span" (util/get-by-text property-type true)))
+    (k/esc)
+    (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
+    (assert/assert-is-visible (w/get-by-text "Property type"))
+    (assert/assert-is-visible (w/get-by-text property-type))
+    (k/esc)))
+
 (deftest change-property-type-test
-  (let [title "change-property-type-test"
-        property-name "p-change-type"]
-    (b/new-block title)
-    (w/click (util/get-by-text title true))
-    (k/press "Control+e")
-    (util/input-command "Add new property")
-    (w/click "input[placeholder]")
-    (util/input property-name)
-    (w/click (util/get-by-text "New option:" false))
-    (assert/assert-is-visible (w/get-by-text "Select a property type"))
-    (w/click (loc/and "span" (util/get-by-text "Text" true)))
-    (w/click (format ".property-pair:has-text('%s') > .ls-block" property-name))
-    (util/input "Text")
-    (util/double-esc)
-    (doseq [property-type (rest property-types)]
-      (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
-      (w/click (w/get-by-text "Property type"))
-      (w/click (loc/and "span" (util/get-by-text property-type true)))
-      (k/esc)
-      (w/click (format ".property-pair:has-text('%s') .property-k" property-name))
-      (assert/assert-is-visible (w/get-by-text "Property type"))
-      (assert/assert-is-visible (w/get-by-text property-type))
-      (k/esc))))
+  (change-property-type "change-property-type-test" "p-change-type" property-types))

+ 17 - 0
clj-e2e/test/logseq/e2e/rtc_extra_test.clj

@@ -187,6 +187,14 @@
             (let [{:keys [_local-tx remote-tx]}
                   (rtc/with-wait-tx-updated
                     (property-basic-test/add-new-properties title-prefix))]
+              (reset! *latest-remote-tx remote-tx))))
+        change-prop-type-in-page2
+        (fn [*latest-remote-tx]
+          (w/with-page @*page2
+            (let [{:keys [_local-tx remote-tx]}
+                  (rtc/with-wait-tx-updated
+                    (property-basic-test/change-property-type
+                     "change-property-type-test" "p-change-type" ["Text" "Checkbox"]))]
               (reset! *latest-remote-tx remote-tx))))]
     (testing "add different types user properties on page2 while keeping rtc connected on page1"
       (let [*latest-remote-tx (atom nil)]
@@ -201,6 +209,15 @@
     (testing "perform same operations on page2 while keeping rtc connected on page1"
       (let [*latest-remote-tx (atom nil)]
         (insert-new-property-blocks-in-page2 *latest-remote-tx "rtc-property-test-2")
+        (w/with-page @*page1
+          (rtc/wait-tx-update-to @*latest-remote-tx))
+        (validate-2-graphs)))
+
+    (new-logseq-page)
+
+    (testing "change property type"
+      (let [*latest-remote-tx (atom nil)]
+        (change-prop-type-in-page2 *latest-remote-tx)
         (w/with-page @*page1
           (rtc/wait-tx-update-to @*latest-remote-tx))
         (validate-2-graphs)))))