Resolve recommended-profile Critical and High findings, update vulnerable dependencies, restore invoice queue E2E authentication setup, and clear the remaining frontend Qodana findings.
38 lines
2.0 KiB
TypeScript
38 lines
2.0 KiB
TypeScript
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { expect, test } from "@playwright/test";
|
|
|
|
const read = (relativePath: string) => fs.readFileSync(path.join(process.cwd(), relativePath), "utf8");
|
|
|
|
test.describe("Failover configuration wiring", () => {
|
|
test("wires the superuser failover config client, route, navigation, and controls", async ({
|
|
browserName: _browserName,
|
|
}, testInfo) => {
|
|
test.skip(testInfo.project.name !== "chromium-desktop", "Source wiring check only needs to run once.");
|
|
|
|
const client = read("src/components/session/token/superUser/modules/failover/Config.vue");
|
|
const moduleObject = read("src/components/session/token/superUser/modules/failover/Failover.vue");
|
|
const superUserObject = read("src/components/session/token/superUserObject.vue");
|
|
const route = read("src/router.js");
|
|
const tabNavigation = read(
|
|
"src/views/dashboards/superUserDashboard/configuration/SuperUserDashboardConfigurationNavigation.vue"
|
|
);
|
|
const menuNavigation = read("src/components/models/navigation/items/NavigationMenuItemsSuperUser.vue");
|
|
|
|
expect(client).toContain('"/failover/config"');
|
|
expect(client).toContain('"database_enabled"');
|
|
expect(client).toContain('"redis_enabled"');
|
|
expect(client).toContain('"minio_enabled"');
|
|
expect(client).toContain('"max_status_age_seconds"');
|
|
expect(moduleObject).toContain('title: "Failover"');
|
|
expect(superUserObject).toContain("modules/failover/Failover.vue");
|
|
expect(superUserObject).toMatch(/get\s+failover\(\)\s*{\s*return\s+Failover;\s*}/);
|
|
expect(route).toContain("name: 'configurationFailover'");
|
|
expect(route).toContain("path: '/superuser/configuration/failover'");
|
|
expect(route).toContain("redirect: { path: '/superuser/configuration/releases/data-services'");
|
|
expect(route).toContain("query: { panel: 'failover' }");
|
|
expect(tabNavigation).toContain('name: "Failover"');
|
|
expect(menuNavigation).toContain("modules.failover.meta.labels.multiple");
|
|
});
|
|
});
|