63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
import { spawn } from "child_process";
|
|
|
|
const commands = [
|
|
{
|
|
label: "smoke",
|
|
cmd: "node",
|
|
args: ["product/site/smoke-test.cjs"],
|
|
env: {},
|
|
},
|
|
{
|
|
label: "e2e-desktop",
|
|
cmd: "node",
|
|
args: ["product/site/e2e-test.mjs"],
|
|
env: {
|
|
SQUAREMCP_E2E_PROFILE: "desktop",
|
|
SQUAREMCP_E2E_SCREENSHOT: "/tmp/squaremcp-e2e-desktop.png",
|
|
},
|
|
},
|
|
{
|
|
label: "e2e-mobile",
|
|
cmd: "node",
|
|
args: ["product/site/e2e-test.mjs"],
|
|
env: {
|
|
SQUAREMCP_E2E_PROFILE: "mobile",
|
|
SQUAREMCP_E2E_SCREENSHOT: "/tmp/squaremcp-e2e-mobile.png",
|
|
},
|
|
},
|
|
];
|
|
|
|
function runCommand({ label, cmd, args, env }) {
|
|
return new Promise((resolve, reject) => {
|
|
const child = spawn(cmd, args, {
|
|
stdio: "inherit",
|
|
env: { ...process.env, ...env },
|
|
});
|
|
|
|
child.on("exit", (code) => {
|
|
if (code === 0) {
|
|
resolve();
|
|
return;
|
|
}
|
|
reject(new Error(`${label} failed with exit code ${code}`));
|
|
});
|
|
child.on("error", reject);
|
|
});
|
|
}
|
|
|
|
async function main() {
|
|
for (const command of commands) {
|
|
console.log(`\n==> ${command.label}`);
|
|
await runCommand(command);
|
|
}
|
|
|
|
console.log("\nsquaremcp product site verification: PASS");
|
|
console.log("desktop_screenshot: /tmp/squaremcp-e2e-desktop.png");
|
|
console.log("mobile_screenshot: /tmp/squaremcp-e2e-mobile.png");
|
|
}
|
|
|
|
main().catch((error) => {
|
|
console.error(`squaremcp product site verification: FAIL: ${error.message}`);
|
|
process.exit(1);
|
|
});
|