unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
44 lines • 1.67 kB
JavaScript
import { faker } from '@faker-js/faker';
import dbInit from '../helpers/database-init.js';
import getLogger from '../../fixtures/no-logger.js';
let db;
let stores;
let clientInstanceStore;
beforeAll(async () => {
db = await dbInit('client_application_store_e2e_serial', getLogger);
stores = db.stores;
clientInstanceStore = stores.clientInstanceStore;
});
afterAll(async () => {
await db.destroy();
});
test('Upserting an application keeps values not provided intact', async () => {
const clientInstance = {
appName: faker.internet.domainName(),
instanceId: faker.string.uuid(),
environment: 'development',
sdkVersion: 'unleash-client-node:6.6.0',
sdkType: 'backend',
};
await clientInstanceStore.upsert(clientInstance);
const initial = await clientInstanceStore.get(clientInstance);
expect(initial).toMatchObject(clientInstance);
const update = {
appName: clientInstance.appName,
instanceId: clientInstance.instanceId,
environment: clientInstance.environment,
clientIp: '::2',
};
await clientInstanceStore.upsert(update);
const updated = await clientInstanceStore.get(clientInstance);
const expectedAfterUpdate = {
clientIp: '::2',
sdkVersion: 'unleash-client-node:6.6.0',
sdkType: 'backend',
};
expect(updated).toMatchObject(expectedAfterUpdate);
await clientInstanceStore.bulkUpsert([clientInstance]);
const doubleUpdated = await clientInstanceStore.get(clientInstance);
expect(doubleUpdated).toMatchObject(expectedAfterUpdate);
});
//# sourceMappingURL=client-instance-store.e2e.test.js.map