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();
  });
});
