muagqa 1.6.0 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/generateTemplate.js +39 -32
- package/src/templateMode.js +26 -1
package/package.json
CHANGED
package/src/generateTemplate.js
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
|
-
import fetch from "node-fetch";
|
|
2
|
-
import fs from "fs";
|
|
3
|
-
|
|
4
|
-
export async function generateTemplateFromDashboard(token) {
|
|
5
|
-
console.log("
|
|
6
|
-
|
|
7
|
-
const response = await fetch("https://muagqa.com/api/template/generate", {
|
|
8
|
-
method: "POST",
|
|
9
|
-
headers: { "Content-Type": "application/json" },
|
|
10
|
-
body: JSON.stringify({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
console.error("
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import fetch from "node-fetch";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
|
|
4
|
+
export async function generateTemplateFromDashboard({ token, flow, url }) {
|
|
5
|
+
console.log("Fetching template test cases...");
|
|
6
|
+
|
|
7
|
+
const response = await fetch("https://muagqa.com/api/template/generate", {
|
|
8
|
+
method: "POST",
|
|
9
|
+
headers: { "Content-Type": "application/json" },
|
|
10
|
+
body: JSON.stringify({ token, flow, url })
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
let data;
|
|
14
|
+
try {
|
|
15
|
+
data = await response.json();
|
|
16
|
+
} catch (err) {
|
|
17
|
+
const raw = await response.text().catch(() => "");
|
|
18
|
+
console.error("Failed to parse template response.");
|
|
19
|
+
console.error(`Status: ${response.status} ${response.statusText}`);
|
|
20
|
+
if (raw) {
|
|
21
|
+
console.error("Body:", raw);
|
|
22
|
+
}
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (!data.success) {
|
|
27
|
+
console.error("ERROR:", data.error || "Unknown error.");
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const output = data.testCode;
|
|
32
|
+
fs.writeFileSync("generated-template.spec.js", output);
|
|
33
|
+
|
|
34
|
+
console.log("Smart test template generated:");
|
|
35
|
+
console.log("==============================");
|
|
36
|
+
console.log(output);
|
|
37
|
+
console.log("==============================");
|
|
38
|
+
console.log("File saved as: generated-template.spec.js");
|
|
39
|
+
}
|
package/src/templateMode.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import inquirer from "inquirer";
|
|
2
2
|
import { generateTemplateFromDashboard } from "./generateTemplate.js";
|
|
3
|
+
import { validateSessionToken } from "./api.js";
|
|
3
4
|
|
|
4
5
|
export async function generateTemplateTests(sessionToken) {
|
|
5
6
|
let token = sessionToken || process.env.MUAGQA_SESSION;
|
|
@@ -16,5 +17,29 @@ export async function generateTemplateTests(sessionToken) {
|
|
|
16
17
|
token = answer.token;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
await
|
|
20
|
+
const result = await validateSessionToken(token);
|
|
21
|
+
if (!result.success) {
|
|
22
|
+
console.error("Unable to fetch test flow metadata — invalid token?");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const flow =
|
|
27
|
+
result.flow ||
|
|
28
|
+
result.flowType ||
|
|
29
|
+
result.flow_type ||
|
|
30
|
+
result.templateFlow ||
|
|
31
|
+
"";
|
|
32
|
+
const url =
|
|
33
|
+
result.url ||
|
|
34
|
+
result.startUrl ||
|
|
35
|
+
result.start_url ||
|
|
36
|
+
result.baseUrl ||
|
|
37
|
+
"";
|
|
38
|
+
|
|
39
|
+
if (!flow) {
|
|
40
|
+
console.error("Missing flow type for this token. Update the API to return flow.");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
await generateTemplateFromDashboard({ token, flow, url });
|
|
20
45
|
}
|