1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00
unleash.unleash/src/test/e2e/services/setting-service.test.ts
olav a34c674971
feat: add event search endpoint (#1893)
* feat: add event search endpoint

* refactor: expand variable names

* refactor: add table type to query builder

* refactor: improve schema limit/offset types

* refactor: describe searchEventsSchema fields
2022-08-09 16:14:50 +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.searchEvents({
type: 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.searchEvents({
type: 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.searchEvents({
type: SETTING_UPDATED,
});
expect(updatedEvents).toHaveLength(1);
});