user.clj 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. (ns user
  2. "fns used on repl"
  3. (:require [clojure.test :refer [run-tests run-test]]
  4. [logseq.e2e.block :as b]
  5. [logseq.e2e.commands-basic-test]
  6. [logseq.e2e.config :as config]
  7. [logseq.e2e.fixtures :as fixtures]
  8. [logseq.e2e.graph :as graph]
  9. [logseq.e2e.keyboard :as k]
  10. [logseq.e2e.multi-tabs-basic-test]
  11. [logseq.e2e.outliner-basic-test]
  12. [logseq.e2e.plugins-basic-test]
  13. [logseq.e2e.reference-basic-test]
  14. [logseq.e2e.rtc-basic-test]
  15. [logseq.e2e.rtc-extra-test]
  16. [logseq.e2e.property-basic-test]
  17. [logseq.e2e.util :as util]
  18. [wally.main :as w]
  19. [wally.repl :as repl]
  20. [logseq.e2e.locator :as loc]))
  21. ;; Use port 3001 for local testing
  22. (reset! config/*port 3001)
  23. ;; show ui
  24. (reset! config/*headless false)
  25. (reset! config/*slow-mo 30)
  26. (def *futures (atom {}))
  27. (defn cancel
  28. [test-name]
  29. (some-> (get @*futures test-name) future-cancel)
  30. (swap! *futures dissoc test-name))
  31. (defn run-commands-test
  32. []
  33. (->> (future (run-tests 'logseq.e2e.commands-basic-test))
  34. (swap! *futures assoc :commands-test)))
  35. (defn run-property-basic-test
  36. []
  37. (->> (future (run-tests 'logseq.e2e.property-basic-test))
  38. (swap! *futures assoc :property-test)))
  39. (defn run-outliner-test
  40. []
  41. (->> (future (run-tests 'logseq.e2e.outliner-basic-test))
  42. (swap! *futures assoc :outliner-test)))
  43. (defn run-rtc-basic-test
  44. []
  45. (->> (future (run-tests 'logseq.e2e.rtc-basic-test))
  46. (swap! *futures assoc :rtc-basic-test)))
  47. (defn run-multi-tabs-test
  48. []
  49. (->> (future (run-tests 'logseq.e2e.multi-tabs-basic-test))
  50. (swap! *futures assoc :multi-tabs-test)))
  51. (defn run-reference-test
  52. []
  53. (->> (future (run-tests 'logseq.e2e.reference-basic-test))
  54. (swap! *futures assoc :reference-test)))
  55. (defn run-plugins-test
  56. []
  57. (->> (future (run-tests 'logseq.e2e.plugins-basic-test))
  58. (swap! *futures assoc :plugins-test)))
  59. (defn run-rtc-extra-test
  60. []
  61. (->> (future (run-tests 'logseq.e2e.rtc-extra-test))
  62. (swap! *futures assoc :rtc-extra-test)))
  63. (defn run-all-basic-test
  64. []
  65. (run-tests 'logseq.e2e.commands-basic-test
  66. 'logseq.e2e.multi-tabs-basic-test
  67. 'logseq.e2e.outliner-basic-test
  68. 'logseq.e2e.rtc-basic-test
  69. 'logseq.e2e.plugins-basic-test
  70. 'logseq.e2e.reference-basic-test
  71. 'logseq.e2e.property-basic-test))
  72. (defn start
  73. []
  74. (future
  75. (fixtures/open-page
  76. repl/pause
  77. {:headless false})))
  78. (comment
  79. ;; You can call or put `(repl/pause)` in any test to pause the tests,
  80. ;; this allows us to continue experimenting with the current page.
  81. (repl/pause)
  82. ;; To resume the tests, close the page/context/browser
  83. (repl/resume)
  84. ;; Run specific test
  85. (future (run-test logseq.e2e.commands-test/new-property-test))
  86. ;; after the test has been paused, you can do anything with the current page like this
  87. (repl/with-page
  88. (w/wait-for (first (util/get-edit-block-container))
  89. {:state :detached}))
  90. (run-tests 'logseq.e2e.commands-basic-test
  91. 'logseq.e2e.multi-tabs-basic-test
  92. 'logseq.e2e.outliner-basic-test
  93. 'logseq.e2e.rtc-basic-test)
  94. (do
  95. (reset! config/*headless true)
  96. (reset! config/*slow-mo 10)
  97. (run-tests 'logseq.e2e.reference-basic-test)
  98. (dotimes [i 10]
  99. (run-tests 'logseq.e2e.reference-basic-test)))
  100. ;;
  101. )