48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { buildAssistantStartPrompt } from '../../../src/renderer/navigation/assistantPromptContext';
|
|
|
|
describe('assistantPromptContext', () => {
|
|
it('enriches prompt with active post context', () => {
|
|
const result = buildAssistantStartPrompt({
|
|
userPrompt: 'Find weak tags',
|
|
context: {
|
|
tabType: 'post',
|
|
id: 'post-1',
|
|
title: 'Launch Notes',
|
|
},
|
|
});
|
|
|
|
expect(result).toContain('User request: Find weak tags');
|
|
expect(result).toContain('Current editor context type: post');
|
|
expect(result).toContain('Current editor context id: post-1');
|
|
expect(result).toContain('Current editor context title: Launch Notes');
|
|
});
|
|
|
|
it('enriches prompt with active media context', () => {
|
|
const result = buildAssistantStartPrompt({
|
|
userPrompt: 'Suggest alt text variants',
|
|
context: {
|
|
tabType: 'media',
|
|
id: 'media-4',
|
|
title: 'cover.jpg',
|
|
},
|
|
});
|
|
|
|
expect(result).toContain('User request: Suggest alt text variants');
|
|
expect(result).toContain('Current editor context type: media');
|
|
expect(result).toContain('Current editor context id: media-4');
|
|
expect(result).toContain('Current editor context title: cover.jpg');
|
|
});
|
|
|
|
it('falls back to none when no active editor context is available', () => {
|
|
const result = buildAssistantStartPrompt({
|
|
userPrompt: 'Summarize current project health',
|
|
context: null,
|
|
});
|
|
|
|
expect(result).toContain('User request: Summarize current project health');
|
|
expect(result).toContain('Current editor context type: none');
|
|
expect(result).not.toContain('Current editor context id:');
|
|
});
|
|
});
|