Add unit tests and new components for edge gateway workflows:

- Introduced unit tests for edge gateway workflow helpers, including workflow step resolution, incident action mapping, relay health row formatting, and workspace state merging.
- Added new components for advanced operations, configuration panel, context panel, fleet rail, and health summary.
- Enhanced gateway management UI with support for advanced actions, fallback operations, relay health visualization, and device binding features.
This commit is contained in:
Jeppe Bundgaard
2026-04-16 13:44:36 +02:00
parent 2d94322021
commit bef9eaeb72
34 changed files with 5296 additions and 2369 deletions
+30 -40
View File
@@ -14,14 +14,25 @@ const workers = Number.isFinite(configuredWorkers) && configuredWorkers > 0 ? co
const reporterMode = (process.env.PLAYWRIGHT_REPORTER_MODE || "").trim();
const reporter =
reporterMode === "line-html"
? [
["line"],
["html", { open: "never", outputFolder: htmlReportOutputFolder }],
]
: [
["list"],
["html", { open: "never", outputFolder: htmlReportOutputFolder }],
];
? [["line"], ["html", { open: "never", outputFolder: htmlReportOutputFolder }]]
: [["list"], ["html", { open: "never", outputFolder: htmlReportOutputFolder }]];
function buildProject(name: string, browserName: "chromium" | "firefox" | "webkit", deviceName: keyof typeof devices) {
const { defaultBrowserType, ...device } = devices[deviceName];
const use = {
browserName,
...device,
};
if (browserName === "firefox") {
delete use.isMobile;
}
return {
name,
use,
};
}
export default defineConfig({
testDir: "./tests/e2e",
@@ -43,38 +54,17 @@ export default defineConfig({
baseURL,
trace: "retain-on-failure",
screenshot: "only-on-failure",
video: "retain-on-failure"
video: "retain-on-failure",
},
projects: [
{
name: "chromium-desktop",
use: {
...devices["Desktop Chrome"]
}
},
{
name: "chromium-mobile",
use: {
...devices["Pixel 5"]
}
},
{
name: "firefox-desktop",
use: {
...devices["Desktop Firefox"]
}
},
{
name: "webkit-desktop",
use: {
...devices["Desktop Safari"]
}
},
{
name: "webkit-mobile",
use: {
...devices["iPhone 12"]
}
}
]
buildProject("chromium-desktop", "chromium", "Desktop Chrome"),
buildProject("chromium-tablet", "chromium", "iPad Mini"),
buildProject("chromium-mobile", "chromium", "Pixel 5"),
buildProject("firefox-desktop", "firefox", "Desktop Firefox"),
buildProject("firefox-tablet", "firefox", "iPad Mini"),
buildProject("firefox-mobile", "firefox", "Pixel 5"),
buildProject("webkit-desktop", "webkit", "Desktop Safari"),
buildProject("webkit-tablet", "webkit", "iPad Mini"),
buildProject("webkit-mobile", "webkit", "iPhone 12"),
],
});