1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-17 01:17:29 +02:00
unleash.unleash/src/test/e2e/services/setting-service.test.ts
Christopher Kolstad 09fa031e0f
task: Add events for setting-service (#1814)
* task: Add events for setting-service
2022-07-21 15:40:31 +02:00

69 lines
2.0 KiB
TypeScript

import SettingService from '../../../lib/services/setting-service';
import { createTestConfig } from '../../config/test-config';
import dbInit from '../helpers/database-init';
import { IUnleashStores } from '../../../lib/types/stores';
import {
SETTING_CREATED,
SETTING_DELETED,
SETTING_UPDATED,
} from '../../../lib/types/events';
let stores: IUnleashStores;
let db;
let service: SettingService;
beforeAll(async () => {
const config = createTestConfig();
db = await dbInit('setting_service_serial', config.getLogger);
stores = db.stores;
service = new SettingService(stores, config);
});
beforeEach(async () => {
await stores.eventStore.deleteAll();
});
afterAll(async () => {
await db.destroy();
});
test('Can create new setting', async () => {
const someData = { some: 'blob' };
await service.insert('some-setting', someData, 'test-user');
const actual = await service.get('some-setting');
expect(actual).toStrictEqual(someData);
const { eventStore } = stores;
const createdEvents = await eventStore.getEventsFilterByType(
SETTING_CREATED,
);
expect(createdEvents).toHaveLength(1);
});
test('Can delete setting', async () => {
const someData = { some: 'blob' };
await service.insert('some-setting', someData, 'test-user');
await service.delete('some-setting', 'test-user');
const actual = await service.get('some-setting');
expect(actual).toBeUndefined();
const { eventStore } = stores;
const createdEvents = await eventStore.getEventsFilterByType(
SETTING_DELETED,
);
expect(createdEvents).toHaveLength(1);
});
test('Can update setting', async () => {
const { eventStore } = stores;
const someData = { some: 'blob' };
await service.insert('updated-setting', someData, 'test-user');
await service.insert(
'updated-setting',
{ ...someData, test: 'fun' },
'test-user',
);
const updatedEvents = await eventStore.getEventsFilterByType(
SETTING_UPDATED,
);
expect(updatedEvents).toHaveLength(1);
});