From 4d61c82edeff4ec3b9346ffc670cde2afba403d2 Mon Sep 17 00:00:00 2001 From: Osvaldo Ortega Date: Thu, 5 Mar 2026 11:57:48 -0800 Subject: [PATCH] Add Approach 2: Service overrides for E2E mock testing New files: - web.test.ts: TestSessionsBrowserMain with MockChatEntitlementService - web.test.factory.ts: Factory using TestSessionsBrowserMain - sessions.web.test.internal.ts: Test entry point Server uses test entry point when --mock, which injects a mock IChatEntitlementService returning ChatEntitlement.Free with installed=true, so Sessions thinks the user is signed in. Also adds ESLint import patterns for sessions web entry points. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eslint.config.js | 32 +++++++++ scripts/code-sessions-web.js | 2 +- src/vs/sessions/browser/web.test.factory.ts | 34 ++++++++++ src/vs/sessions/browser/web.test.ts | 66 +++++++++++++++++++ src/vs/sessions/sessions.web.test.internal.ts | 23 +++++++ 5 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 src/vs/sessions/browser/web.test.factory.ts create mode 100644 src/vs/sessions/browser/web.test.ts create mode 100644 src/vs/sessions/sessions.web.test.internal.ts diff --git a/eslint.config.js b/eslint.config.js index ec5efb7c5fc..a50a725a60f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1973,6 +1973,38 @@ export default tseslint.config( 'vs/sessions/sessions.common.main.js' ] }, + { + 'target': 'src/vs/sessions/sessions.web.main.internal.ts', + 'layer': 'browser', + 'restrictions': [ + 'vs/base/~', + 'vs/base/parts/*/~', + 'vs/platform/*/~', + 'vs/sessions/~', + 'vs/sessions/contrib/*/~', + 'vs/workbench/~', + 'vs/workbench/browser/**', + 'vs/workbench/services/*/~', + 'vs/workbench/contrib/*/~', + 'vs/sessions/sessions.web.main.js' + ] + }, + { + 'target': 'src/vs/sessions/sessions.web.test.internal.ts', + 'layer': 'browser', + 'restrictions': [ + 'vs/base/~', + 'vs/base/parts/*/~', + 'vs/platform/*/~', + 'vs/sessions/~', + 'vs/sessions/contrib/*/~', + 'vs/workbench/~', + 'vs/workbench/browser/**', + 'vs/workbench/services/*/~', + 'vs/workbench/contrib/*/~', + 'vs/sessions/sessions.web.main.js' + ] + }, { 'target': 'src/vs/sessions/~', 'restrictions': [ diff --git a/scripts/code-sessions-web.js b/scripts/code-sessions-web.js index 8cd5ea8283a..ba847b3d066 100644 --- a/scripts/code-sessions-web.js +++ b/scripts/code-sessions-web.js @@ -137,7 +137,7 @@ ${importMapJson}