87 lines
2.0 KiB
TypeScript
87 lines
2.0 KiB
TypeScript
/**
|
|
* 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();
|
|
});
|
|
});
|
|
|