reference_test.clj 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. (ns logseq.e2e.reference-test
  2. (:require
  3. [clojure.test :refer [deftest testing is use-fixtures]]
  4. [logseq.e2e.assert :as assert]
  5. [logseq.e2e.block :as b]
  6. [logseq.e2e.fixtures :as fixtures]
  7. [logseq.e2e.keyboard :as k]
  8. [logseq.e2e.util :as util]
  9. [wally.repl :as repl]))
  10. (use-fixtures :once fixtures/open-page)
  11. (use-fixtures :each fixtures/new-logseq-page)
  12. ;; block references
  13. (deftest self-reference
  14. (testing "self reference"
  15. (b/new-block "b2")
  16. (b/copy)
  17. (b/paste)
  18. (util/exit-edit)
  19. (assert/assert-selected-block-text "b2")))
  20. (deftest self-tag-block-reference
  21. (testing "self reference"
  22. (b/new-block "b2")
  23. (util/set-tag "task")
  24. (b/copy)
  25. (b/paste)
  26. (util/exit-edit)
  27. (assert/assert-selected-block-text "b2")))
  28. (deftest mutual-reference
  29. (testing "mutual reference"
  30. (b/new-blocks ["b1" "b2"])
  31. (util/set-tag "task")
  32. (b/copy)
  33. (k/arrow-up)
  34. (b/wait-editor-text "b1")
  35. (b/paste)
  36. (b/copy)
  37. (k/arrow-down)
  38. (b/wait-editor-text "b2")
  39. (b/paste)
  40. (util/exit-edit)
  41. (b/assert-blocks-visible ["b1b2" "b2b1"])))
  42. (deftest parent-reference
  43. (testing "parent reference"
  44. (b/new-blocks ["b1" "b2"])
  45. (util/set-tag "task")
  46. (b/indent)
  47. (b/copy)
  48. (k/arrow-up)
  49. (b/wait-editor-text "b1")
  50. (b/paste)
  51. (b/copy)
  52. (k/arrow-down)
  53. (b/wait-editor-text "b2")
  54. (b/paste)
  55. (util/exit-edit)
  56. (b/assert-blocks-visible ["b1b2" "b2b1"])))
  57. (deftest cycle-reference
  58. (testing "cycle reference"
  59. (b/new-blocks ["b1" "b2" "b3"])
  60. (util/set-tag "task")
  61. (b/jump-to-block "b1")
  62. (assert/assert-editor-mode)
  63. (b/copy)
  64. (k/arrow-down)
  65. (b/wait-editor-text "b2")
  66. (b/paste)
  67. (b/copy)
  68. (k/arrow-down)
  69. (b/wait-editor-text "b3")
  70. (b/paste)
  71. (b/copy)
  72. (b/jump-to-block "b1")
  73. (assert/assert-editor-mode)
  74. (b/paste)
  75. (util/exit-edit)
  76. (b/assert-blocks-visible ["b1b3b2" "b2b1b3" "b3b2b1"])))
  77. ;; TODO: page references