/**
 * Tests for Layout Renderer
 * Phase 5: Sites Renderer & Bulk Generation
 */
import { describe, it, expect } from 'vitest';
import { renderLayout } from '../utils/layoutRenderer';

describe('Layout Renderer', () => {
  it('renders default layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'default',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders minimal layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'minimal',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders magazine layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'magazine',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders ecommerce layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'ecommerce',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders portfolio layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'portfolio',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders blog layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'blog',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });

  it('renders corporate layout correctly', () => {
    // Test: Multiple layouts work correctly
    const siteDefinition = {
      layout: 'corporate',
      pages: [],
    };

    const result = renderLayout(siteDefinition);
    expect(result).toBeDefined();
  });
});

