Path: blob/main/src/vs/sessions/contrib/policyBlocked/test/browser/sessionsPolicyBlocked.fixture.ts
13405 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { mock } from '../../../../../base/test/common/mock.js';6import { IProductService } from '../../../../../platform/product/common/productService.js';7import { ComponentFixtureContext, createEditorServices, defineComponentFixture, defineThemedFixtureGroup } from '../../../../../workbench/test/browser/componentFixtures/fixtureUtils.js';8import { ISessionsBlockedOverlayOptions, SessionsBlockedReason, SessionsPolicyBlockedOverlay } from '../../browser/sessionsPolicyBlocked.js';910function createOverlay(ctx: ComponentFixtureContext, options: ISessionsBlockedOverlayOptions): void {11ctx.container.style.width = '600px';12ctx.container.style.height = '400px';13ctx.container.style.position = 'relative';1415const instantiationService = createEditorServices(ctx.disposableStore, {16colorTheme: ctx.theme,17additionalServices: (reg) => {18reg.defineInstance(IProductService, new class extends mock<IProductService>() {19override readonly quality = 'insider';20override readonly urlProtocol = 'vscode-insiders';21}());22},23});2425ctx.disposableStore.add(instantiationService.createInstance(SessionsPolicyBlockedOverlay, ctx.container, options));26}2728export default defineThemedFixtureGroup({ path: 'sessions/' }, {29PolicyBlocked: defineComponentFixture({30labels: { kind: 'screenshot' },31render: (ctx) => createOverlay(ctx, { reason: SessionsBlockedReason.AgentDisabled }),32}),33Loading: defineComponentFixture({34labels: { kind: 'screenshot' },35render: (ctx) => createOverlay(ctx, { reason: SessionsBlockedReason.Loading }),36}),37AccountPolicyGate: defineComponentFixture({38labels: { kind: 'screenshot' },39render: (ctx) => createOverlay(ctx, {40reason: SessionsBlockedReason.AccountPolicyGate,41accountName: 'octocat',42approvedOrganizations: ['github', 'microsoft'],43}),44}),45AccountPolicyGateNoAccount: defineComponentFixture({46labels: { kind: 'screenshot' },47render: (ctx) => createOverlay(ctx, {48reason: SessionsBlockedReason.AccountPolicyGate,49}),50}),51});525354