fix: deprecated settings tests (#2538)

This commit is contained in:
Alexey
2024-04-09 17:49:34 +08:00
committed by GitHub
parent 28714a628f
commit fec9e856f6
3 changed files with 12 additions and 5 deletions
@@ -7,7 +7,7 @@
*/
import { addKnownWarn, consoleSpy } from '@cloudbeaver/tests-runner';
const DEPRECATED_SETTING_MESSAGE_REGEX = /You are using deprecated settings.*/;
const DEPRECATED_SETTING_MESSAGE_REGEX = /You have deprecated settings:*/;
beforeAll(async () => {
addKnownWarn(DEPRECATED_SETTING_MESSAGE_REGEX);
@@ -15,7 +15,7 @@ beforeAll(async () => {
export function expectDeprecatedSettingMessage(deprecated?: string, key?: string) {
if (deprecated && key) {
expect(consoleSpy.warn).toHaveBeenCalledWith(expect.stringMatching(`You are using deprecated settings: "${deprecated}". Use "${key}" instead.`));
expect(consoleSpy.warn).toHaveBeenCalledWith(expect.stringMatching(`You have deprecated settings: "${deprecated}". Use "${key}" instead.`));
} else {
expect(consoleSpy.warn).toHaveBeenCalledWith(expect.stringMatching(DEPRECATED_SETTING_MESSAGE_REGEX));
}
@@ -9,7 +9,7 @@ import '@testing-library/jest-dom';
import { SyncExecutor } from '@cloudbeaver/core-executor';
import { expectDeprecatedSettingMessage } from './__custom_mocks__/expectDeprecatedSettingMessage';
import { expectDeprecatedSettingMessage, expectNoDeprecatedSettingMessage } from './__custom_mocks__/expectDeprecatedSettingMessage';
import { createSettingsAliasResolver } from './createSettingsAliasResolver';
import type { ISettingsSource } from './ISettingsSource';
@@ -52,9 +52,16 @@ function createResolver(settings: Record<any, any>) {
});
}
test('Deprecated setting extracted', async () => {
test('Deprecated setting ignored', async () => {
const resolver = createResolver(newSettings);
expect(resolver.has('value')).toBe(false);
expectNoDeprecatedSettingMessage();
});
test('Deprecated setting extracted', async () => {
const resolver = createResolver(deprecatedSettings);
expect(resolver.has('value')).toBe(true);
expect(resolver.getValue('value')).toBe('deprecatedValue');
expectDeprecatedSettingMessage('deprecated', 'value');
@@ -69,7 +69,7 @@ export function createSettingsAliasResolver<TTarget extends schema.SomeZodObject
const oldKey = mapKey(key);
const has = source.has(oldKey);
if (!DEPRECATED_SETTINGS.has(oldKey)) {
if (has && !DEPRECATED_SETTINGS.has(oldKey)) {
console.warn(`You have deprecated settings: "${String(oldKey)}". Use "${key}" instead.`);
DEPRECATED_SETTINGS.add(oldKey);
}