mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 14:14:55 +00:00
test(e2e): add logseq.e2e.property-basic-test and reuse in rtc-extra-test
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
[logseq.e2e.reference-basic-test]
|
||||
[logseq.e2e.rtc-basic-test]
|
||||
[logseq.e2e.rtc-extra-test]
|
||||
[logseq.e2e.property-basic-test]
|
||||
[logseq.e2e.util :as util]
|
||||
[wally.main :as w]
|
||||
[wally.repl :as repl]))
|
||||
@@ -35,6 +36,11 @@
|
||||
(->> (future (run-tests 'logseq.e2e.commands-basic-test))
|
||||
(swap! *futures assoc :commands-test)))
|
||||
|
||||
(defn run-property-basic-test
|
||||
[]
|
||||
(->> (future (run-tests 'logseq.e2e.property-basic-test))
|
||||
(swap! *futures assoc :property-test)))
|
||||
|
||||
(defn run-outliner-test
|
||||
[]
|
||||
(->> (future (run-tests 'logseq.e2e.outliner-basic-test))
|
||||
@@ -72,7 +78,8 @@
|
||||
'logseq.e2e.outliner-basic-test
|
||||
'logseq.e2e.rtc-basic-test
|
||||
'logseq.e2e.plugins-basic-test
|
||||
'logseq.e2e.reference-basic-test))
|
||||
'logseq.e2e.reference-basic-test
|
||||
'logseq.e2e.property-basic-test))
|
||||
|
||||
(defn start
|
||||
[]
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
(ns logseq.e2e.commands-basic-test
|
||||
(:require
|
||||
[clj-time.core :as t]
|
||||
[clj-time.local :as tl]
|
||||
[clojure.string :as string]
|
||||
[clojure.test :refer [deftest testing is use-fixtures]]
|
||||
[logseq.e2e.assert :as assert]
|
||||
@@ -297,12 +295,3 @@
|
||||
(util/exit-edit)
|
||||
(w/click "a.cloze")
|
||||
(w/wait-for "a.cloze-revealed")))
|
||||
|
||||
(deftest new-property-test
|
||||
(testing "new property"
|
||||
(b/new-block "")
|
||||
(util/input-command "add new property")
|
||||
(util/input "p1")
|
||||
(w/click "a:has-text(\"+ New option: p1\")")
|
||||
(k/enter)
|
||||
(is (= "p1" (util/get-text "a.property-k")))))
|
||||
|
||||
51
clj-e2e/test/logseq/e2e/property_basic_test.clj
Normal file
51
clj-e2e/test/logseq/e2e/property_basic_test.clj
Normal file
@@ -0,0 +1,51 @@
|
||||
(ns logseq.e2e.property-basic-test
|
||||
(:require [clojure.test :refer [deftest testing is use-fixtures run-test run-tests]]
|
||||
[logseq.e2e.assert :as assert]
|
||||
[logseq.e2e.block :as b]
|
||||
[logseq.e2e.fixtures :as fixtures]
|
||||
[logseq.e2e.keyboard :as k]
|
||||
[logseq.e2e.locator :as loc]
|
||||
[logseq.e2e.util :as util]
|
||||
[wally.main :as w]))
|
||||
|
||||
(use-fixtures :once fixtures/open-page)
|
||||
|
||||
(use-fixtures :each
|
||||
fixtures/new-logseq-page
|
||||
fixtures/validate-graph)
|
||||
|
||||
(def ^:private property-types ["Text" "Number" "Date" "DateTime" "Checkbox" "Url" "Node"])
|
||||
|
||||
(defn add-new-properties
|
||||
[title-prefix]
|
||||
(b/new-blocks (map #(str title-prefix "-" %) property-types))
|
||||
(doseq [property-type property-types]
|
||||
(let [property-name (str "p-" title-prefix "-" property-type)]
|
||||
(w/click (util/get-by-text (str title-prefix "-" property-type) true))
|
||||
(k/press "Control+e")
|
||||
(util/input-command "Add new property")
|
||||
(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 property-type true)))
|
||||
(case property-type
|
||||
"Text" (do
|
||||
(w/click (format ".property-pair:has-text('%s') > .ls-block" property-name))
|
||||
(util/input "Text"))
|
||||
"Number" (do (assert/assert-is-visible (format "input[placeholder='%s']" (str "Set " property-name)))
|
||||
(util/input "111")
|
||||
(w/click (w/get-by-text "New option:")))
|
||||
("DateTime" "Date") (do
|
||||
(assert/assert-is-visible ".ls-property-dialog")
|
||||
(k/enter)
|
||||
(k/esc))
|
||||
"Checkbox" nil
|
||||
"Url" nil
|
||||
"Node" (do
|
||||
(w/click (w/get-by-text "Skip choosing tag"))
|
||||
(util/input (str title-prefix "-Node-value"))
|
||||
(w/click (w/get-by-text "New option:")))))))
|
||||
|
||||
(deftest new-property-test
|
||||
(let [title-prefix "new-property-test"]
|
||||
(add-new-properties title-prefix)))
|
||||
@@ -11,6 +11,7 @@
|
||||
[logseq.e2e.locator :as loc]
|
||||
[logseq.e2e.outliner-basic-test :as outliner-basic-test]
|
||||
[logseq.e2e.page :as page]
|
||||
[logseq.e2e.property-basic-test :as property-basic-test]
|
||||
[logseq.e2e.rtc :as rtc]
|
||||
[logseq.e2e.settings :as settings]
|
||||
[logseq.e2e.util :as util]
|
||||
@@ -177,43 +178,13 @@
|
||||
(validate-task-blocks)
|
||||
(validate-2-graphs)))))
|
||||
|
||||
(defn- add-new-properties
|
||||
[title-prefix]
|
||||
(b/new-blocks (map #(str title-prefix "-" %) ["Text" "Number" "Date" "DateTime" "Checkbox" "Url" "Node"]))
|
||||
(doseq [property-type ["Text" "Number" "Date" "DateTime" "Checkbox" "Url" "Node"]]
|
||||
(let [property-name (str "p-" title-prefix "-" property-type)]
|
||||
(w/click (util/get-by-text (str title-prefix "-" property-type) true))
|
||||
(k/press "Control+e")
|
||||
(util/input-command "Add new property")
|
||||
(util/input property-name)
|
||||
(w/click (w/get-by-text "New option:"))
|
||||
(assert/assert-is-visible (w/get-by-text "Select a property type"))
|
||||
(w/click (loc/and "span" (util/get-by-text property-type true)))
|
||||
(case property-type
|
||||
"Text" (do
|
||||
(w/click (format ".property-pair:has-text('%s') > .ls-block" property-name))
|
||||
(util/input "Text"))
|
||||
"Number" (do (assert/assert-is-visible (format "input[placeholder='%s']" (str "Set " property-name)))
|
||||
(util/input "111")
|
||||
(w/click (w/get-by-text "New option:")))
|
||||
("DateTime" "Date") (do
|
||||
(assert/assert-is-visible ".ls-property-dialog")
|
||||
(k/enter)
|
||||
(k/esc))
|
||||
"Checkbox" nil
|
||||
"Url" nil
|
||||
"Node" (do
|
||||
(w/click (w/get-by-text "Skip choosing tag"))
|
||||
(util/input (str title-prefix "-Node-value"))
|
||||
(w/click (w/get-by-text "New option:")))))))
|
||||
|
||||
(deftest rtc-property-test
|
||||
(let [insert-new-property-blocks-in-page2
|
||||
(fn [*latest-remote-tx title-prefix]
|
||||
(w/with-page @*page2
|
||||
(let [{:keys [_local-tx remote-tx]}
|
||||
(rtc/with-wait-tx-updated
|
||||
(add-new-properties title-prefix))]
|
||||
(property-basic-test/add-new-properties title-prefix))]
|
||||
(reset! *latest-remote-tx remote-tx))))]
|
||||
(testing "page1: rtc-stop
|
||||
page2: create some user properties with different type
|
||||
|
||||
Reference in New Issue
Block a user