mermaid-server/test_workflow_format.js

43 lines
1.2 KiB
JavaScript
Raw Normal View History

2025-05-24 11:45:48 +02:00
// Test script that mimics your workflow exactly
const diagram = `graph TD
A[Website Analytics] --> B[Traffic]
A --> C[Revenue]
B --> D[Desktop]
B --> E[Mobile]`;
console.log("Raw diagram string:");
console.log(JSON.stringify(diagram));
console.log("\nDiagram content:");
console.log(diagram);
console.log("\nLength:", diagram.length);
// Test the conversion step
const convertMermaidBlock = (inputs) => {
const raw = String(inputs.diagram || "").trim();
if (!raw) throw new Error("No Mermaid input provided");
return { rawDsl: raw };
};
// Test the API call step
const makeApiCall = async (inputs) => {
const { diagram, format } = inputs;
if (!diagram || !diagram.trim()) {
throw new Error("No Mermaid input provided");
}
console.log("Sending to API:");
console.log("URL: https://diagrams.starbit.cloud/generate?type=" + encodeURIComponent(format));
console.log("Content-Type: text/plain");
console.log("Body:", JSON.stringify(diagram));
return { success: true };
};
// Run the test
const result1 = convertMermaidBlock({ diagram });
console.log("\nStep 1 result:", result1);
const result2 = makeApiCall({ diagram: result1.rawDsl, format: "svg" });
console.log("\nStep 2 result:", result2);