user.clj 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. (ns user
  2. "fns used on repl"
  3. (:require [clojure.test :refer [run-tests run-test]]
  4. [logseq.e2e.bidirectional-properties-test]
  5. [logseq.e2e.block :as b]
  6. [logseq.e2e.cmdk-scroll-basic-test]
  7. [logseq.e2e.commands-basic-test]
  8. [logseq.e2e.config :as config]
  9. [logseq.e2e.editor-basic-test]
  10. [logseq.e2e.fixtures :as fixtures]
  11. [logseq.e2e.flashcards-basic-test]
  12. [logseq.e2e.graph :as graph]
  13. [logseq.e2e.keyboard :as k]
  14. [logseq.e2e.locator :as loc]
  15. [logseq.e2e.multi-tabs-basic-test]
  16. [logseq.e2e.outliner-basic-test]
  17. [logseq.e2e.plugins-basic-test]
  18. [logseq.e2e.property-basic-test]
  19. [logseq.e2e.property-scoped-choices-test]
  20. [logseq.e2e.reference-basic-test]
  21. [logseq.e2e.rtc-basic-test]
  22. [logseq.e2e.rtc-extra-part2-test]
  23. [logseq.e2e.rtc-extra-test]
  24. [logseq.e2e.tag-basic-test]
  25. [logseq.e2e.util :as util]
  26. [wally.main :as w]
  27. [wally.repl :as repl]))
  28. ;; Use port 3001 for local testing
  29. (reset! config/*port 3001)
  30. ;; show ui
  31. (reset! config/*headless false)
  32. (reset! config/*slow-mo 30)
  33. (def *futures (atom {}))
  34. (defn cancel
  35. [test-name]
  36. (some-> (get @*futures test-name) future-cancel)
  37. (swap! *futures dissoc test-name))
  38. (defn run-commands-test
  39. []
  40. (->> (future (run-tests 'logseq.e2e.commands-basic-test))
  41. (swap! *futures assoc :commands-test)))
  42. (defn run-property-basic-test
  43. []
  44. (->> (future (run-tests 'logseq.e2e.property-basic-test))
  45. (swap! *futures assoc :property-test)))
  46. (defn run-flashcards-basic-test
  47. []
  48. (->> (future (run-tests 'logseq.e2e.flashcards-basic-test))
  49. (swap! *futures assoc :flashcards-test)))
  50. (defn run-property-scoped-choices-test
  51. []
  52. (->> (future (run-tests 'logseq.e2e.property-scoped-choices-test))
  53. (swap! *futures assoc :property-scoped-choices-test)))
  54. (defn run-bidirectional-properties-test
  55. []
  56. (->> (future (run-tests 'logseq.e2e.bidirectional-properties-test))
  57. (swap! *futures assoc :bidirectional-properties-test)))
  58. (defn run-outliner-test
  59. []
  60. (->> (future (run-tests 'logseq.e2e.outliner-basic-test))
  61. (swap! *futures assoc :outliner-test)))
  62. (defn run-rtc-basic-test
  63. []
  64. (->> (future (run-tests 'logseq.e2e.rtc-basic-test))
  65. (swap! *futures assoc :rtc-basic-test)))
  66. (defn run-multi-tabs-test
  67. []
  68. (->> (future (run-tests 'logseq.e2e.multi-tabs-basic-test))
  69. (swap! *futures assoc :multi-tabs-test)))
  70. (defn run-reference-test
  71. []
  72. (->> (future (run-tests 'logseq.e2e.reference-basic-test))
  73. (swap! *futures assoc :reference-test)))
  74. (defn run-plugins-test
  75. []
  76. (->> (future (run-tests 'logseq.e2e.plugins-basic-test))
  77. (swap! *futures assoc :plugins-test)))
  78. (defn run-rtc-extra-test
  79. []
  80. (->> (future (run-tests 'logseq.e2e.rtc-extra-test))
  81. (swap! *futures assoc :rtc-extra-test)))
  82. (defn run-rtc-extra-test2
  83. [& _args]
  84. (run-tests 'logseq.e2e.rtc-extra-test)
  85. (System/exit 0))
  86. (defn run-rtc-extra-part2-test2
  87. [& _args]
  88. (run-tests 'logseq.e2e.rtc-extra-part2-test)
  89. (System/exit 0))
  90. (defn run-editor-basic-test
  91. []
  92. (->> (future (run-tests 'logseq.e2e.editor-basic-test))
  93. (swap! *futures assoc :editor-basic-test)))
  94. (defn run-tag-basic-test
  95. []
  96. (->> (future (run-tests 'logseq.e2e.tag-basic-test))
  97. (swap! *futures assoc :tag-basic-test)))
  98. (defn run-all-basic-test
  99. [& _]
  100. (run-tests 'logseq.e2e.editor-basic-test
  101. 'logseq.e2e.commands-basic-test
  102. 'logseq.e2e.multi-tabs-basic-test
  103. 'logseq.e2e.outliner-basic-test
  104. 'logseq.e2e.rtc-basic-test
  105. 'logseq.e2e.plugins-basic-test
  106. 'logseq.e2e.reference-basic-test
  107. 'logseq.e2e.property-basic-test
  108. 'logseq.e2e.tag-basic-test
  109. 'logseq.e2e.flashcards-basic-test)
  110. (System/exit 0))
  111. (defn start
  112. []
  113. (future
  114. (fixtures/open-page
  115. repl/pause
  116. {:headless false})))
  117. (comment
  118. ;; You can call or put `(repl/pause)` in any test to pause the tests,
  119. ;; this allows us to continue experimenting with the current page.
  120. (repl/pause)
  121. ;; To resume the tests, close the page/context/browser
  122. (repl/resume)
  123. ;; Run specific test
  124. (future (run-test logseq.e2e.commands-test/new-property-test))
  125. ;; after the test has been paused, you can do anything with the current page like this
  126. (repl/with-page
  127. (w/wait-for (first (util/get-edit-block-container))
  128. {:state :detached}))
  129. (run-tests 'logseq.e2e.commands-basic-test
  130. 'logseq.e2e.multi-tabs-basic-test
  131. 'logseq.e2e.outliner-basic-test
  132. 'logseq.e2e.rtc-basic-test)
  133. (do
  134. (reset! config/*headless true)
  135. (reset! config/*slow-mo 10)
  136. (run-tests 'logseq.e2e.reference-basic-test)
  137. (dotimes [i 10]
  138. (run-tests 'logseq.e2e.reference-basic-test)))
  139. ;;
  140. )