feat(FN-2518): add remote TUI settings controls and routing
- Wire remote dashboard route contracts into CLI/TUI state and controller flows - Add remote settings interaction UX in dashboard and dashboard-tui command paths - Expand regression coverage for remote TUI behavior in dashboard and app test suites - Document remote TUI controls and QR behavior in the CLI reference - Add a changeset for @runfusion/fusion patch release
This commit is contained in:
@@ -2767,6 +2767,33 @@ describe("runDashboard — merge stream sink routing", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("runDashboard — interactiveData remote wiring", () => {
|
||||
it("keeps remote endpoint wiring and method names aligned", async () => {
|
||||
const { readFile } = await import("node:fs/promises");
|
||||
const source = await readFile(new URL("../dashboard.ts", import.meta.url), "utf8");
|
||||
|
||||
expect(source).toContain("getSettings: async () =>");
|
||||
expect(source).toContain("getStatus: async () =>");
|
||||
expect(source).toContain("activateProvider: async");
|
||||
expect(source).toContain("startTunnel: async");
|
||||
expect(source).toContain("stopTunnel: async");
|
||||
expect(source).toContain("regeneratePersistentToken: async");
|
||||
expect(source).toContain("generateShortLivedToken: async");
|
||||
expect(source).toContain("getRemoteUrl: async");
|
||||
expect(source).toContain("getQrPayload: async");
|
||||
|
||||
expect(source).toContain("/api/remote/settings");
|
||||
expect(source).toContain("/api/remote/status");
|
||||
expect(source).toContain("/api/remote/provider/activate");
|
||||
expect(source).toContain("/api/remote/tunnel/start");
|
||||
expect(source).toContain("/api/remote/tunnel/stop");
|
||||
expect(source).toContain("/api/remote/token/persistent/regenerate");
|
||||
expect(source).toContain("/api/remote/token/short-lived/generate");
|
||||
expect(source).toContain("/api/remote/url?");
|
||||
expect(source).toContain("/api/remote/qr?");
|
||||
});
|
||||
});
|
||||
|
||||
describe("runDashboard runtime logger wiring", () => {
|
||||
it("injects a runtime logger into createServer and preserves non-TTY console fallback", async () => {
|
||||
process.env.FUSION_DASHBOARD_TOKEN = "fn_test_dashboard_token";
|
||||
|
||||
Reference in New Issue
Block a user