Move test files to src/vs/sessions/test/e2e/

Keeps all E2E test code (mocks, runners, scenarios, extensions) in one
place, separate from production Sessions code. Updates import paths,
server path, and ESLint config.

Note: ESLint import-patterns warnings remain because the relative
imports from test/e2e/ depth don't match the restriction glob syntax.
This is cosmetic — the imports are valid TypeScript.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Osvaldo Ortega
2026-03-05 13:58:54 -08:00
parent e6e0ccf371
commit 02d5d0ed10
5 changed files with 42 additions and 25 deletions

View File

@@ -1990,13 +1990,14 @@ export default tseslint.config(
]
},
{
'target': 'src/vs/sessions/sessions.web.test.internal.ts',
'target': 'src/vs/sessions/test/e2e/sessions.web.test.internal.ts',
'layer': 'browser',
'restrictions': [
'vs/base/~',
'vs/base/parts/*/~',
'vs/platform/*/~',
'vs/sessions/~',
'vs/sessions/test/e2e/**',
'vs/sessions/contrib/*/~',
'vs/workbench/~',
'vs/workbench/browser/**',
@@ -2005,6 +2006,22 @@ export default tseslint.config(
'vs/sessions/sessions.web.main.js'
]
},
{
'target': 'src/vs/sessions/test/e2e/{web.test.ts,web.test.factory.ts}',
'layer': 'browser',
'restrictions': [
'vs/base/~',
'vs/base/parts/*/~',
'vs/platform/*/~',
'vs/sessions/~',
'vs/sessions/test/e2e/**',
'vs/sessions/contrib/*/~',
'vs/workbench/~',
'vs/workbench/browser/**',
'vs/workbench/services/*/~',
'vs/workbench/contrib/*/~'
]
},
{
'target': 'src/vs/sessions/~',
'restrictions': [

View File

@@ -137,7 +137,7 @@ ${importMapJson}
</head>
<body aria-label="">
<script type="module">
import { create, URI } from '${fileRoot}/vs/sessions/${useMock ? 'sessions.web.test.internal' : 'sessions.web.main.internal'}.js';
import { create, URI } from '${fileRoot}/vs/sessions/${useMock ? 'test/e2e/sessions.web.test.internal' : 'sessions.web.main.internal'}.js';
create(document.body, {
productConfiguration: {
nameShort: 'Sessions (Web)',
@@ -147,8 +147,8 @@ ${importMapJson}
${additionalBuiltinExtensions}
workspaceProvider: {
workspace: ${useMock
? `{ folderUri: URI.parse('mock-fs://mock-repo/') }`
: 'undefined'},
? `{ folderUri: URI.parse('mock-fs://mock-repo/') }`
: 'undefined'},
open: async () => false,
payload: [['isSessionsWindow', 'true']],
},

View File

@@ -6,12 +6,12 @@
// Test entry point for the Sessions workbench with mock services.
// Mirrors sessions.web.main.internal.ts but uses TestSessionsBrowserMain.
import './sessions.web.main.js';
import { create } from './browser/web.test.factory.js';
import { URI } from '../base/common/uri.js';
import { Event, Emitter } from '../base/common/event.js';
import { Disposable } from '../base/common/lifecycle.js';
import { LogLevel } from '../platform/log/common/log.js';
import '../../sessions.web.main.js';
import { create } from './web.test.factory.js';
import { URI } from '../../../../base/common/uri.js';
import { Event, Emitter } from '../../../../base/common/event.js';
import { Disposable } from '../../../../base/common/lifecycle.js';
import { LogLevel } from '../../../../platform/log/common/log.js';
export {
create,

View File

@@ -3,11 +3,11 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IWorkbench, IWorkbenchConstructionOptions } from '../../workbench/browser/web.api.js';
import { IWorkbench, IWorkbenchConstructionOptions } from '../../../../workbench/browser/web.api.js';
import { TestSessionsBrowserMain } from './web.test.js';
import { IDisposable, toDisposable } from '../../base/common/lifecycle.js';
import { mark } from '../../base/common/performance.js';
import { DeferredPromise } from '../../base/common/async.js';
import { IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
import { mark } from '../../../../base/common/performance.js';
import { DeferredPromise } from '../../../../base/common/async.js';
const workbenchPromise = new DeferredPromise<IWorkbench>();

View File

@@ -3,17 +3,17 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ServiceCollection } from '../../platform/instantiation/common/serviceCollection.js';
import { ILogService } from '../../platform/log/common/log.js';
import { IBrowserMainWorkbench } from '../../workbench/browser/web.main.js';
import { Workbench as SessionsWorkbench } from './workbench.js';
import { SessionsBrowserMain } from './web.main.js';
import { Event } from '../../base/common/event.js';
import { CancellationToken } from '../../base/common/cancellation.js';
import { IObservable, observableValue } from '../../base/common/observable.js';
import { ChatEntitlement, IChatEntitlementService, IChatSentiment } from '../../workbench/services/chat/common/chatEntitlementService.js';
import { IDefaultAccountService } from '../../platform/defaultAccount/common/defaultAccount.js';
import { IDefaultAccount, IDefaultAccountAuthenticationProvider, ICopilotTokenInfo, IPolicyData } from '../../base/common/defaultAccount.js';
import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
import { ILogService } from '../../../../platform/log/common/log.js';
import { IBrowserMainWorkbench } from '../../../../workbench/browser/web.main.js';
import { Workbench as SessionsWorkbench } from '../../browser/workbench.js';
import { SessionsBrowserMain } from '../../browser/web.main.js';
import { Event } from '../../../../base/common/event.js';
import { CancellationToken } from '../../../../base/common/cancellation.js';
import { IObservable, observableValue } from '../../../../base/common/observable.js';
import { ChatEntitlement, IChatEntitlementService, IChatSentiment } from '../../../../workbench/services/chat/common/chatEntitlementService.js';
import { IDefaultAccountService } from '../../../../platform/defaultAccount/common/defaultAccount.js';
import { IDefaultAccount, IDefaultAccountAuthenticationProvider, ICopilotTokenInfo, IPolicyData } from '../../../../base/common/defaultAccount.js';
const MOCK_ACCOUNT: IDefaultAccount = {
authenticationProvider: { id: 'github', name: 'GitHub (Mock)', enterprise: false },