feat(FN-3168): add plugin routes wiring and listTasksModifiedSince contract
This merge adds plugin routes wiring to the dashboard with a new `listTasksModifiedSince` task store contract (FN-3796/FN-3798), stabilizes flaky tests for initial-open scroll behavior and favorites rollback timing, and removes the roadmap backend in favor of a reports plugin scaffold (FN-3824); cov Fusion-Task-Id: FN-3168
This commit is contained in:
@@ -18,6 +18,7 @@ describe("pluginViewRegistry", () => {
|
||||
|
||||
it("builds plugin IDs", () => {
|
||||
expect(getPluginViewId("plugin-a", "main")).toBe("plugin:plugin-a:main");
|
||||
expect(getPluginViewId("roadmap-planner", "roadmaps")).toBe("plugin:roadmap-planner:roadmaps");
|
||||
});
|
||||
|
||||
it("parses and validates plugin IDs", () => {
|
||||
@@ -68,6 +69,16 @@ describe("pluginViewRegistry", () => {
|
||||
expect(await screen.findByText("proj-1")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("resolves roadmap-planner registry entry and avoids unavailable fallback", async () => {
|
||||
const RoadmapsView = lazy(async () => ({ default: () => <div>Roadmaps Plugin View</div> }));
|
||||
registerPluginView("roadmap-planner", "roadmaps", RoadmapsView);
|
||||
|
||||
render(<>{PluginDashboardViewHost({ viewId: "plugin:roadmap-planner:roadmaps" })}</>);
|
||||
|
||||
expect(await screen.findByText("Roadmaps Plugin View")).toBeInTheDocument();
|
||||
expect(screen.queryByTestId("plugin-view-unavailable")).toBeNull();
|
||||
});
|
||||
|
||||
it("renders unavailable fallback for unregistered views", () => {
|
||||
render(<>{PluginDashboardViewHost({ viewId: "plugin:plugin-a:missing" })}</>);
|
||||
expect(screen.getByTestId("plugin-view-unavailable")).toBeInTheDocument();
|
||||
|
||||
Reference in New Issue
Block a user