obsidian-livesync/test/browser-apps
2026-08-07 21:48:14 +10:00
..
helpers refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
pages Fix special characters in aggregated QR settings 2026-08-07 21:48:14 +10:00
webapp refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
webpeer Add browser P2P connection check 2026-07-31 14:13:34 +00:00
compose.yml refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
deno.json refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
deno.lock refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
Dockerfile.interop refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
interop.test.ts Fix WebPeer interop test selector 2026-07-31 16:37:09 +00:00
README.md test: validate packaged Pages application subpaths 2026-07-29 11:13:10 +00:00
run-compose-interop.ts refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00

Browser application tests

Browser application tests use Deno and headless Chromium. They do not depend on Obsidian or the retired browser Harness.

Application unit tests are stored in test/apps/webapp/ and test/apps/webpeer/. Both the unit and browser tests remain outside src, because test-file ignores do not apply to the Community Review source boundary.

Each application has its own production-bundle smoke-test directory outside src:

  • test/browser-apps/webapp/ covers Vault selection, OPFS start-up, and isolation between optional P2P settings and the main remote.
  • test/browser-apps/webpeer/ covers start-up, settings persistence, and reload.
  • test/browser-apps/pages/ covers the final GitHub Pages layout, application subpaths, and relative assets.

Run both app-owned tests with:

npm run test:browser-apps

test/browser-apps/interop.test.ts is the only cross-application scenario. It configures the real WebApp and WebPeer interfaces, transfers a file from WebApp to WebPeer, then starts the built CLI as the final peer and verifies the file through the production CLI. The CLI is a test fixture in this scenario; the PoC test and its support code are not owned by the CLI package.

Run the isolated relay and TURN scenario in Compose with:

npm run test:e2e:browser-apps:interop

After assembling the GitHub Pages files in _site, run the package smoke test with:

npm run test:browser-apps:pages

Set PAGES_SITE_ROOT to test an assembled site in another directory.

The Deno dependency lock is shared only by these browser application tests.