1+ import { explainCodePrompt , fixCodePrompt , improveCodePrompt } from '../code-actions' ;
2+
3+ describe ( 'Code Action Prompts' , ( ) => {
4+ const testFilePath = 'test/file.ts' ;
5+ const testCode = 'function test() { return true; }' ;
6+
7+ describe ( 'explainCodePrompt' , ( ) => {
8+ it ( 'should format explain prompt correctly' , ( ) => {
9+ const prompt = explainCodePrompt ( testFilePath , testCode ) ;
10+
11+ expect ( prompt ) . toContain ( `@/${ testFilePath } ` ) ;
12+ expect ( prompt ) . toContain ( testCode ) ;
13+ expect ( prompt ) . toContain ( 'purpose and functionality' ) ;
14+ expect ( prompt ) . toContain ( 'Key components' ) ;
15+ expect ( prompt ) . toContain ( 'Important patterns' ) ;
16+ } ) ;
17+ } ) ;
18+
19+ describe ( 'fixCodePrompt' , ( ) => {
20+ it ( 'should format fix prompt without diagnostics' , ( ) => {
21+ const prompt = fixCodePrompt ( testFilePath , testCode ) ;
22+
23+ expect ( prompt ) . toContain ( `@/${ testFilePath } ` ) ;
24+ expect ( prompt ) . toContain ( testCode ) ;
25+ expect ( prompt ) . toContain ( 'Address all detected problems' ) ;
26+ expect ( prompt ) . not . toContain ( 'Current problems detected' ) ;
27+ } ) ;
28+
29+ it ( 'should format fix prompt with diagnostics' , ( ) => {
30+ const diagnostics = [
31+ {
32+ source : 'eslint' ,
33+ message : 'Missing semicolon' ,
34+ code : 'semi'
35+ } ,
36+ {
37+ message : 'Unused variable' ,
38+ severity : 1
39+ }
40+ ] ;
41+
42+ const prompt = fixCodePrompt ( testFilePath , testCode , diagnostics ) ;
43+
44+ expect ( prompt ) . toContain ( 'Current problems detected:' ) ;
45+ expect ( prompt ) . toContain ( '[eslint] Missing semicolon (semi)' ) ;
46+ expect ( prompt ) . toContain ( '[Error] Unused variable' ) ;
47+ expect ( prompt ) . toContain ( testCode ) ;
48+ } ) ;
49+ } ) ;
50+
51+ describe ( 'improveCodePrompt' , ( ) => {
52+ it ( 'should format improve prompt correctly' , ( ) => {
53+ const prompt = improveCodePrompt ( testFilePath , testCode ) ;
54+
55+ expect ( prompt ) . toContain ( `@/${ testFilePath } ` ) ;
56+ expect ( prompt ) . toContain ( testCode ) ;
57+ expect ( prompt ) . toContain ( 'Code readability' ) ;
58+ expect ( prompt ) . toContain ( 'Performance optimization' ) ;
59+ expect ( prompt ) . toContain ( 'Best practices' ) ;
60+ expect ( prompt ) . toContain ( 'Error handling' ) ;
61+ } ) ;
62+ } ) ;
63+ } ) ;
0 commit comments