From 370a4535b26685b966b28a9e7df7275c464ce637 Mon Sep 17 00:00:00 2001 From: NarwhalChen Date: Mon, 13 Jan 2025 15:39:59 -0800 Subject: [PATCH] fix: fixing wrong version of fullstack test --- .../__tests__/test.fullstack-gen.spec.ts | 118 ++---------------- 1 file changed, 9 insertions(+), 109 deletions(-) diff --git a/backend/src/build-system/__tests__/test.fullstack-gen.spec.ts b/backend/src/build-system/__tests__/test.fullstack-gen.spec.ts index 4d16de32..6c1b620e 100644 --- a/backend/src/build-system/__tests__/test.fullstack-gen.spec.ts +++ b/backend/src/build-system/__tests__/test.fullstack-gen.spec.ts @@ -1,18 +1,8 @@ import { BuildSequence } from '../types'; -import * as fs from 'fs'; -import * as path from 'path'; -import { executeBuildSequence, writeToFile } from './utils'; -import { BuildMonitor } from '../monitor'; -import { BuilderContext } from '../context'; +import { executeBuildSequence, objectToMarkdown, writeToFile } from './utils'; -describe('Sequence: PRD -> UXSD -> UXSS -> UXDD -> DATABASE_REQ -> DBSchemas -> Frontend_File_struct -> Frontend_File_arch -> BackendCodeGenerator', () => { - // Generate a unique folder with a timestamp - const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); - const logFolderPath = `./logs/Fullstack_code_generator-${timestamp}`; - fs.mkdirSync(logFolderPath, { recursive: true }); - - it('should execute the frontend and backend code generation sequence and log results to individual files', async () => { - // Define the build sequence up to Backend Code Generator +describe('Build Sequence Test', () => { + it('should execute build sequence successfully', async () => { const sequence: BuildSequence = { id: 'test-backend-sequence', version: '1.0.0', @@ -149,100 +139,10 @@ describe('Sequence: PRD -> UXSD -> UXSS -> UXDD -> DATABASE_REQ -> DBSchemas -> }, ], }; - const context = new BuilderContext(sequence, 'test-env'); - const monitor = BuildMonitor.getInstance(); - - try { - console.time('Total Execution Time'); - - await context.execute(); - - console.timeEnd('Total Execution Time'); - - const monitorReport = monitor.generateTextReport(sequence.id); - fs.writeFileSync( - path.join(logFolderPath, 'execution-metrics.txt'), - monitorReport, - 'utf8', - ); - - const sequenceMetrics = monitor.getSequenceMetrics(sequence.id); - if (sequenceMetrics) { - const metricsJson = { - totalDuration: `${sequenceMetrics.duration}ms`, - successRate: `${sequenceMetrics.successRate.toFixed(2)}%`, - totalSteps: sequenceMetrics.totalSteps, - completedSteps: sequenceMetrics.completedSteps, - failedSteps: sequenceMetrics.failedSteps, - totalNodes: sequenceMetrics.totalNodes, - startTime: new Date(sequenceMetrics.startTime).toISOString(), - endTime: new Date(sequenceMetrics.endTime).toISOString(), - }; - - fs.writeFileSync( - path.join(logFolderPath, 'metrics.json'), - JSON.stringify(metricsJson, null, 2), - 'utf8', - ); - - console.log('\nSequence Metrics:'); - console.table(metricsJson); - } - - for (const step of sequence.steps) { - const stepMetrics = sequenceMetrics?.stepMetrics.get(step.id); - for (const node of step.nodes) { - const resultData = await context.getNodeData(node.id); - const nodeMetrics = stepMetrics?.nodeMetrics.get(node.id); - if (resultData) { - writeToFile(logFolderPath, `${node.name}`, resultData); - } else { - console.error( - ` Error: Handler ${node.name} failed to produce result data`, - ); - writeToFile(logFolderPath, `${node.name}-error`, { - error: 'No result data', - metrics: nodeMetrics, - }); - } - } - } - - const summary = { - timestamp: new Date().toISOString(), - sequenceId: sequence.id, - sequenceName: sequence.name, - totalExecutionTime: `${sequenceMetrics?.duration}ms`, - successRate: `${sequenceMetrics?.successRate.toFixed(2)}%`, - nodesExecuted: sequenceMetrics?.totalNodes, - completedNodes: sequenceMetrics?.stepMetrics.size, - logFolder: logFolderPath, - }; - - fs.writeFileSync( - path.join(logFolderPath, 'execution-summary.json'), - JSON.stringify(summary, null, 2), - 'utf8', - ); - } catch (error) { - const errorReport = { - error: { - message: error.message, - stack: error.stack, - }, - metrics: monitor.getSequenceMetrics(sequence.id), - timestamp: new Date().toISOString(), - }; - fs.writeFileSync( - path.join(logFolderPath, 'error-with-metrics.json'), - JSON.stringify(errorReport, null, 2), - 'utf8', - ); - const result = await executeBuildSequence('fullstack-code-gen', sequence); - expect(result.success).toBe(true); - expect(result.metrics).toBeDefined(); - console.log(`Logs saved to: ${result.logFolderPath}`); - } - }, 300000); // Timeout set to 10 minutes -}); + const result = await executeBuildSequence('fullstack-code-gen', sequence); + expect(result.success).toBe(true); + expect(result.metrics).toBeDefined(); + console.log(`Logs saved to: ${result.logFolderPath}`); + }, 300000); +}); \ No newline at end of file