UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

53 lines 1.79 kB
import dbInit from '../../../test/e2e/helpers/database-init.js'; let db; beforeAll(async () => { db = await dbInit('client_feature_toggle_store_segments_order'); await db .rawDatabase('environments') .insert({ name: 'default', type: 'production', }) .onConflict('name') .ignore(); await db.rawDatabase('features').insert({ name: 'seg-flag', }); await db.rawDatabase('feature_environments').insert({ environment: 'default', feature_name: 'seg-flag', enabled: true, }); await db.rawDatabase('feature_strategies').insert({ id: 's1', feature_name: 'seg-flag', project_name: 'default', environment: 'default', strategy_name: 'default', parameters: {}, constraints: [], sort_order: 0, }); await db.rawDatabase('segments').insert([ { id: 1, name: 'seg-1', constraints: [] }, { id: 2, name: 'seg-2', constraints: [] }, { id: 3, name: 'seg-3', constraints: [] }, ]); // Insert in non-sorted order to ensure we normalize deterministically. await db.rawDatabase('feature_strategy_segment').insert([ { feature_strategy_id: 's1', segment_id: 3 }, { feature_strategy_id: 's1', segment_id: 1 }, { feature_strategy_id: 's1', segment_id: 2 }, ]); }); afterAll(async () => { await db.destroy(); }); test('sorts segment ids on strategies in client features store', async () => { const result = await db.stores.clientFeatureToggleStore.getClient({ environment: 'default', }); expect(result).toHaveLength(1); expect(result[0].strategies?.[0].segments).toEqual([1, 2, 3]); }); //# sourceMappingURL=client-feature-toggle-store.test.js.map