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