Add journey-based e2e and smoke tests for the complete daily-use path #87

Closed
opened 2026-05-22 11:34:54 +00:00 by steve · 0 comments
Owner

Add a realistic end-to-end user journey test that covers the complete daily-use
path from first launch through restart.

Problem

Package checks, smoke tests, and targeted coverage do not fully protect against
failures in startup sequencing, vault bootstrap, layout restore, plugin load,
metadata hydration, search indexing, and notebook state restoration across a
real user session.

Goal

Create journey-based coverage that exercises the core notes workflow from vault
creation or open through restart and post-restart verification.

Scope

  • Add at least one end-to-end journey that covers note creation, frontmatter,
    links, note rename behavior, search, notebook creation and execution,
    restart, and post-restart verification.
  • Run the journey through the existing test command or a documented command.
  • Use deterministic test vault data and stable selectors.
  • Capture useful failure artifacts such as traces, screenshots, logs, or
    console output.
  • Document where the journey runs today and which host environments remain as
    follow-up work.

Non-goals

  • Exhaustive coverage for every plugin.
  • Visual regression testing.
  • Performance or load testing.
  • Cross-browser matrix expansion beyond current supported hosts.
  • Remote sync or cloud service coverage.

Acceptance Criteria

  • At least one journey test covers the full daily-use flow from vault open or
    creation through restart.
  • The test runs through an existing or documented project test command.
  • The test uses deterministic sample or temporary vault data.
  • Failures produce useful artifacts.
  • The testing spec documents the journey coverage.
  • Local validation instructions include the journey test.
  • The test verifies state after restart or reload, not only within the initial
    session.
  • The test does not rely on external network services.

Implementation Notes

  • Reuse the current smoke and e2e harness where practical.
  • Keep test data small.
  • Add test IDs only where they materially improve test stability.
  • Ensure cleanup does not touch developer data.
  • Capture runtime and plugin errors in test output.

Suggested Files or Specs To Inspect

  • spec/src/40-testing/current-state.md
  • e2e-vault/
  • scripts/prepare-e2e-vault.mjs
  • packages/workspace/
  • packages/desktop-electron/

Validation Commands

  • pnpm test:smoke
  • pnpm check

Follow-up Tasks

  • Add host-specific journey follow-ups for web OPFS and Electron if only one
    host lands in the first pass.

Implementation Summary

Duplicate of active issue #81; keeping #81 as the canonical journey-test issue.

Add a realistic end-to-end user journey test that covers the complete daily-use path from first launch through restart. ## Problem Package checks, smoke tests, and targeted coverage do not fully protect against failures in startup sequencing, vault bootstrap, layout restore, plugin load, metadata hydration, search indexing, and notebook state restoration across a real user session. ## Goal Create journey-based coverage that exercises the core notes workflow from vault creation or open through restart and post-restart verification. ## Scope - Add at least one end-to-end journey that covers note creation, frontmatter, links, note rename behavior, search, notebook creation and execution, restart, and post-restart verification. - Run the journey through the existing test command or a documented command. - Use deterministic test vault data and stable selectors. - Capture useful failure artifacts such as traces, screenshots, logs, or console output. - Document where the journey runs today and which host environments remain as follow-up work. ## Non-goals - Exhaustive coverage for every plugin. - Visual regression testing. - Performance or load testing. - Cross-browser matrix expansion beyond current supported hosts. - Remote sync or cloud service coverage. ## Acceptance Criteria - At least one journey test covers the full daily-use flow from vault open or creation through restart. - The test runs through an existing or documented project test command. - The test uses deterministic sample or temporary vault data. - Failures produce useful artifacts. - The testing spec documents the journey coverage. - Local validation instructions include the journey test. - The test verifies state after restart or reload, not only within the initial session. - The test does not rely on external network services. ## Implementation Notes - Reuse the current smoke and e2e harness where practical. - Keep test data small. - Add test IDs only where they materially improve test stability. - Ensure cleanup does not touch developer data. - Capture runtime and plugin errors in test output. ## Suggested Files or Specs To Inspect - `spec/src/40-testing/current-state.md` - `e2e-vault/` - `scripts/prepare-e2e-vault.mjs` - `packages/workspace/` - `packages/desktop-electron/` ## Validation Commands - `pnpm test:smoke` - `pnpm check` ## Follow-up Tasks - Add host-specific journey follow-ups for web OPFS and Electron if only one host lands in the first pass. ## Implementation Summary Duplicate of active issue #81; keeping #81 as the canonical journey-test issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lapis-notes/lapis#87
No description provided.