The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/packages/apps/tests/server/accessors/SettingRead.test.ts

36 lines
1.2 KiB

import * as assert from 'node:assert';
import { describe, it } from 'node:test';
import type { ProxiedApp } from '../../../src/server/ProxiedApp';
import { SettingRead } from '../../../src/server/accessors';
import type { IAppStorageItem } from '../../../src/server/storage';
import { TestData } from '../../test-data/utilities';
describe('SettingRead', () => {
it('appSettingRead', async () => {
const mockStorageItem = {
settings: {},
} as IAppStorageItem;
mockStorageItem.settings.testing = TestData.getSetting('testing');
const si = mockStorageItem;
const mockProxiedApp = {
getStorageItem(): IAppStorageItem {
return si;
},
} as ProxiedApp;
assert.doesNotThrow(() => new SettingRead({} as ProxiedApp));
const sr = new SettingRead(mockProxiedApp);
assert.ok((await sr.getById('testing')) !== undefined);
assert.deepStrictEqual(await sr.getById('testing'), TestData.getSetting('testing'));
assert.strictEqual(await sr.getValueById('testing'), 'The packageValue');
mockStorageItem.settings.testing.value = 'my value';
assert.strictEqual(await sr.getValueById('testing'), 'my value');
await assert.rejects(() => sr.getValueById('superfake'), {
name: 'Error',
message: 'Setting "superfake" does not exist.',
});
});
});