28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import { destinationRegistry, resolveDestination } from '@/lib/integrations/destinations';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
describe('destination registry', () => {
|
|
it('activates only the safe local demo destination', () => {
|
|
const registry = destinationRegistry({ demoSubmissionEnabled: true, demoMode: 'local' });
|
|
expect(registry['book-demo'].status).toBe('active');
|
|
expect(registry['contact-sales'].status).toBe('blocked');
|
|
expect(registry.login.status).toBe('blocked');
|
|
expect(registry.pricing.status).toBe('placeholder');
|
|
});
|
|
|
|
it('fails the demo destination closed when integration is disabled', () => {
|
|
const registry = destinationRegistry({ demoSubmissionEnabled: false, demoMode: 'blocked' });
|
|
expect(registry['book-demo'].status).toBe('blocked');
|
|
});
|
|
|
|
it('resolves approved localized placeholder routes without guessing external URLs', () => {
|
|
expect(
|
|
resolveDestination('privacy', 'fr', { demoSubmissionEnabled: false, demoMode: 'blocked' })
|
|
.href,
|
|
).toBe('/fr/confidentialite');
|
|
expect(
|
|
resolveDestination('login', 'en', { demoSubmissionEnabled: false, demoMode: 'blocked' }).href,
|
|
).toBeUndefined();
|
|
});
|
|
});
|