chore(desktop-e2e): add Playwright _electron E2E suite for the desktop app - #1993
chore(desktop-e2e): add Playwright _electron E2E suite for the desktop app#1993paustint wants to merge 3 commits into
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
…p app Repurposes the unused jetstream-desktop-client-e2e scaffold (renamed to jetstream-desktop-e2e) into a real Electron-launching Playwright suite. Previously it only drove the renderer as a plain web page and never exercised the actual Electron shell. - Launches the built main.js with an isolated --user-data-dir per test; auth is seeded by calling the same /desktop-app/auth/session + /verify endpoints the app itself uses, no browser/OS login UI driven - Covers app launch, cross-origin window.open() -> shell.openExternal routing, authenticated boot, the Settings screen, a live Salesforce query round-trip, and first-pass adversarial coverage of the dataHistoryRequest/request() IPC surface (path traversal, host independence) - Adds reusable ElectronApiClient/ElectronMainProcess fixtures to @jetstream/test/e2e-utils so a future security-fuzz suite can share them without rework - Wires a new desktop-e2e CI job (Xvfb-wrapped, gated on the desktop projects being affected) — not yet added to the required e2e check pending a proven run - Fixes global.setup.ts to grant the EXAMPLE_USER account's `desktop` entitlement: without it, initSession's MissingEntitlement redirect is silently followed by Playwright's request API, returning the login page's HTML where JSON was expected
9277f37 to
512472b
Compare
Repurposes the unused jetstream-desktop-client-e2e scaffold (renamed to jetstream-desktop-e2e) into a real Electron-launching Playwright suite. Previously it only drove the renderer as a plain web page and never exercised the actual Electron shell.
desktopentitlement: without it, initSession's MissingEntitlement redirect is silently followed by Playwright's request API, returning the login page's HTML where JSON was expected