Path: blob/main/extensions/copilot/src/extension/test/vscode-node/configurations.test.ts
13399 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*--------------------------------------------------------------------------------------------*/4import * as assert from 'assert';5import { BaseConfig, Config, ConfigKey } from '../../../platform/configuration/common/configurationService';6import { ConfigurationServiceImpl } from '../../../platform/configuration/vscode/configurationServiceImpl';7import { Event } from '../../../util/vs/base/common/event';89class TestConfigurationServiceImpl extends ConfigurationServiceImpl {1011public getDefinedDefaultValue<T>(key: BaseConfig<T>): T {12return key.defaultValue;13}1415}1617suite('Configuration Defaults', () => {1819let testObject: TestConfigurationServiceImpl;2021setup(() => {22testObject = new TestConfigurationServiceImpl({23_serviceBrand: undefined,24copilotToken: undefined,25onDidStoreUpdate: Event.None26});27});2829teardown(() => testObject.dispose());3031test('default values of all advanced settings should match default values', () => {32const advancedSettings = Object.values(ConfigKey.Advanced) as Config<unknown>[];3334for (const setting of advancedSettings) {35const actual = testObject.getConfig<unknown>(setting);36const expected = testObject.getDefinedDefaultValue(setting);37assert.deepStrictEqual(actual, expected, `Default value for ${setting.fullyQualifiedId} did not match`);38}3940});4142test('default values of all internal settings', () => {43const internalSettings = Object.values(ConfigKey.TeamInternal) as Config<unknown>[];4445for (const setting of internalSettings) {46const actual = testObject.getConfig<unknown>(setting);47const expected = testObject.getDefinedDefaultValue(setting);48assert.deepStrictEqual(actual, expected, `Default value for ${setting.fullyQualifiedId} did not match`);49}50});5152});5354