README.md 1.4 KB

e2e

e2e tests for Logseq app.

Prerequisites

  • The app's JS and CSS assets are built and located at ../static/.
  • 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 option. It filters tests by Clojure metadata key. Add ^:focus to any deftest and pass -i focus to run only those tests:

(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.