Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,17 @@ jobs:
ENDSTATE_ENGINE_PATH: ${{ github.workspace }}/endstate-linux-amd64
run: npm run test:contract

- name: Assert profile inspection golden is committed
shell: bash
run: |
if ! git diff --quiet -- tests/fixtures/profile-inspect-envelope.golden.json; then
echo "::error file=tests/fixtures/profile-inspect-envelope.golden.json::The real engine's profile inspection envelope no longer matches the committed golden fixture."
git --no-pager diff -- tests/fixtures/profile-inspect-envelope.golden.json
echo "Regenerate locally with: ENDSTATE_ENGINE_PATH=<pinned-engine> npm run test:contract"
exit 1
fi
echo "Profile inspection golden matches the pinned engine."

# A genuine install against a real package manager. Every other job either
# mocks the engine or only exercises its error paths, so nothing else proves
# that apply actually installs, that a dry run installs nothing, or that a
Expand Down
13 changes: 13 additions & 0 deletions e2e/fixtures/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@

The `tauri.ts` fixture provides context-level `__TAURI__` and `__ENDSTATE_MOCK_ENGINE__` mocks for E2E tests that require these APIs to be available **before** page creation.

## Profile inspection fixture

`profile_inspect.fixture.json` is the deterministic long-profile response for
the **What's inside** E2E flow. It is deliberately an engine-shaped successful
`profile inspect --json` envelope: 72 Apps rows, eight verified settings rows
(seven included and one app not in the profile), and an inventory-incomplete
warning. The mock-engine conformance test keeps its required keys, nullability,
status matrix, summary semantics, and representative rows aligned with
`tests/fixtures/profile-inspect-envelope.golden.json` from the real engine.

Package references and module IDs are included so search can be tested without
showing those technical values in the normal row UI.

## When to Use the Fixture

Use `import { test, expect } from './fixtures/tauri'` when:
Expand Down
Loading
Loading