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.
|
512472b to
45e961f
Compare
…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
45e961f to
5435af4
Compare
Code review summaryAutomated review (Claude Code). Fixes below are pushed as an amend to the PR head. Verdict: the Electron harness is well-built and closely matches the existing Verified correct and not flagged: the security specs match the real implementation, token-at-rest is not racy ( Fixed and pushed
Needs a decision
|
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