24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import type { MosaicConfig } from '@mosaicstack/config';
|
|
import { SystemOverrideService } from './system-override.service.js';
|
|
|
|
const localConfig = { queue: { type: 'local' } } as MosaicConfig;
|
|
|
|
describe('SystemOverrideService local tier', () => {
|
|
it('keeps ephemeral overrides isolated by tenant and user scope', async () => {
|
|
const service = new SystemOverrideService(localConfig);
|
|
const firstScope = { tenantId: 'tenant-a', userId: 'user-a' };
|
|
const secondScope = { tenantId: 'tenant-b', userId: 'user-b' };
|
|
|
|
await service.set('shared-session', 'first override', firstScope);
|
|
await service.set('shared-session', 'second override', secondScope);
|
|
|
|
await expect(service.get('shared-session', firstScope)).resolves.toBe('first override');
|
|
await expect(service.get('shared-session', secondScope)).resolves.toBe('second override');
|
|
|
|
await service.clear('shared-session', firstScope);
|
|
await expect(service.get('shared-session', firstScope)).resolves.toBeNull();
|
|
await expect(service.get('shared-session', secondScope)).resolves.toBe('second override');
|
|
});
|
|
});
|