42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import * as fs from 'node:fs';
|
|
import * as path from 'node:path';
|
|
|
|
describe('Chat surface shared styles', () => {
|
|
const sharedCssPath = path.resolve(
|
|
__dirname,
|
|
'../../../src/renderer/styles/chatSurface.css'
|
|
);
|
|
const chatPanelPath = path.resolve(
|
|
__dirname,
|
|
'../../../src/renderer/components/ChatPanel/ChatPanel.tsx'
|
|
);
|
|
const assistantSidebarPath = path.resolve(
|
|
__dirname,
|
|
'../../../src/renderer/components/AssistantSidebar/AssistantSidebar.tsx'
|
|
);
|
|
|
|
it('defines reusable surface primitives', () => {
|
|
const css = fs.readFileSync(sharedCssPath, 'utf8');
|
|
|
|
expect(css).toContain('.chat-surface');
|
|
expect(css).toContain('.chat-surface-scroll');
|
|
expect(css).toContain('.chat-surface-input');
|
|
expect(css).toContain('.chat-surface-error');
|
|
expect(css).toContain('.chat-surface-section');
|
|
});
|
|
|
|
it('applies shared surface class names in both chat renderers', () => {
|
|
const chatPanel = fs.readFileSync(chatPanelPath, 'utf8');
|
|
const assistantSidebar = fs.readFileSync(assistantSidebarPath, 'utf8');
|
|
|
|
expect(chatPanel).toContain('chat-surface');
|
|
expect(chatPanel).toContain('chat-surface-scroll');
|
|
|
|
expect(assistantSidebar).toContain('chat-surface');
|
|
expect(assistantSidebar).toContain('chat-surface-input');
|
|
expect(assistantSidebar).toContain('chat-surface-error');
|
|
expect(assistantSidebar).toContain('chat-surface-section');
|
|
});
|
|
});
|