learning_ai_common_plat/packages/backend-flags/src/index.test.ts
saravanakumardb1 0d8c0a5ffe feat(backend-flags,backend-telemetry): create shared flag registry + telemetry buffer packages
- @bytelyst/backend-flags: createFlagRegistry() with defaults, 6 tests
- @bytelyst/backend-telemetry: createTelemetryBuffer() with enabled switch, 5 tests
2026-03-20 08:02:17 -07:00

44 lines
1.5 KiB
TypeScript

import { describe, it, expect } from 'vitest';
import { createFlagRegistry } from './index.js';
describe('createFlagRegistry', () => {
it('returns default flag values', () => {
const registry = createFlagRegistry({
defaults: { 'feature.a': true, 'feature.b': false },
});
expect(registry.isFeatureEnabled('feature.a')).toBe(true);
expect(registry.isFeatureEnabled('feature.b')).toBe(false);
});
it('returns false for unknown flags', () => {
const registry = createFlagRegistry({ defaults: {} });
expect(registry.isFeatureEnabled('nonexistent')).toBe(false);
});
it('getAllFlags returns all defaults', () => {
const registry = createFlagRegistry({
defaults: { a: true, b: false, c: true },
});
expect(registry.getAllFlags()).toEqual({ a: true, b: false, c: true });
});
it('setFlag overrides a value', () => {
const registry = createFlagRegistry({ defaults: { x: false } });
expect(registry.isFeatureEnabled('x')).toBe(false);
registry.setFlag('x', true);
expect(registry.isFeatureEnabled('x')).toBe(true);
});
it('setFlag creates new flags', () => {
const registry = createFlagRegistry({ defaults: {} });
registry.setFlag('new.flag', true);
expect(registry.isFeatureEnabled('new.flag')).toBe(true);
expect(registry.getAllFlags()).toEqual({ 'new.flag': true });
});
it('accepts userId parameter without error', () => {
const registry = createFlagRegistry({ defaults: { a: true } });
expect(registry.isFeatureEnabled('a', 'user-1')).toBe(true);
});
});