@@ -11,8 +11,49 @@ if (!process.env.API_URL) {
1111const API_KEY = process . env . API_KEY ;
1212const API_URL = process . env . API_URL ;
1313
14+ // Agent est défini au niveau global pour être utilisé dans beforeAll et dans les tests
15+ const agent = request ( API_URL ) ;
16+
17+ // Le beforeAll est placé au niveau global, en dehors du describe
18+ beforeAll ( async ( ) => {
19+ console . log ( 'Setting up test environment - Installing Scarb...' ) ;
20+
21+ try {
22+ const installResponse = await agent
23+ . post ( '/api/key/request' )
24+ . set ( 'Content-Type' , 'application/json' )
25+ . set ( 'x-api-key' , API_KEY )
26+ . send ( {
27+ request : "Can you install scarb?" ,
28+ } ) ;
29+
30+ console . log ( 'Scarb Installation Status:' , installResponse . status ) ;
31+ console . log ( 'Scarb Installation Response:' ,
32+ installResponse . body . output ?
33+ JSON . stringify ( installResponse . body . output [ 0 ] , null , 2 ) :
34+ 'No output'
35+ ) ;
36+
37+ const isSuccess = installResponse . status === 201 &&
38+ installResponse . body . output &&
39+ installResponse . body . output [ 0 ] . status === 'success' ;
40+
41+ if ( ! isSuccess ) {
42+ console . error ( '⚠️ Warning: Scarb installation failed. : ' , installResponse . body . output [ 0 ] . text ) ;
43+ } else {
44+ console . log ( '✅ Scarb installation successful' ) ;
45+ }
46+
47+ // Attendre que l'installation soit traitée
48+ await new Promise ( ( resolve ) => setTimeout ( resolve , 5000 ) ) ;
49+
50+ } catch ( error ) {
51+ console . error ( '❌ Error during Scarb installation:' , error ) ;
52+ console . warn ( '⚠️ Tests may fail if Scarb is not properly installed' ) ;
53+ }
54+ } , 60000 ) ; // Timeout de 60 secondes pour l'installation
55+
1456describe ( 'Code Generation and Compilation Tests' , ( ) => {
15- const agent = request ( API_URL ) ;
1657
1758 async function generateAndCompile (
1859 project_name : string ,
@@ -132,10 +173,10 @@ describe('Code Generation and Compilation Tests', () => {
132173}
133174
134175describe ( 'Cairo Functions and Basic Algorithms' , ( ) => {
135-
176+
136177 test ( 'Hello World test' , async ( ) => {
137178 const project_name = 'hello_world' ;
138- const prompt_content = 'a simple Hello World function in Cairo ' ;
179+ const prompt_content = 'a cairo function that returns "Hello World" ' ;
139180 const result = await generateAndCompile ( project_name , prompt_content , 0 ) ;
140181
141182 if ( ! result . success ) {
0 commit comments