Files
logseq/clj-e2e/README.md

71 lines
1.4 KiB
Markdown

# e2e
e2e tests for Logseq app.
## Prerequisites
* The app's JS and CSS assets are built and located at `../static/`.
* [Babashka](https://github.com/babashka/babashka) is installed.
## Setup
Serve the static assets (default port 3002):
$ bb serve
To use a custom port:
$ bb serve --port 3001
$ bb serve -p 3001
## Running Tests
Run all tests (namespaces ending in `-basic-test`):
$ bb test
Run a single test namespace:
$ bb test -n logseq.e2e.editor-basic-test
Run a single test function:
$ bb test -v logseq.e2e.editor-basic-test/toggle-between-page-and-block
Filter by metadata tag (e.g. `^:focus`):
$ bb test -i focus
Combine namespace and tag filters:
$ bb test -n logseq.e2e.editor-basic-test -i focus
Run tests against a custom port:
$ bb test -p 3001
Run tests and serve together (starts both in parallel):
$ bb dev
$ bb dev -p 3001
## How `-i` Works
The `-i`/`--include` flag is a [cognitect test-runner](https://github.com/cognitect-labs/test-runner) option. It filters tests by Clojure metadata key. Add `^:focus` to any `deftest` and pass `-i focus` to run only those tests:
```clojure
(deftest ^:focus my-test
...)
```
## RTC Tests
Run RTC extra tests (served + tested in parallel):
$ bb run-rtc-extra-test
$ bb run-rtc-extra-part2-test
## Debugging
When tests fail, `clj-e2e/e2e-dump/` contains console logs and screenshots.