feat(FN-3208): restore mobile nodes nav and improve planning mode

This merge delivers significant testing infrastructure refactoring alongside focused UI, planning, and plugin features. The largest change splits the 20K-line `routes.test.ts` monolith into 15 granular route test files (agents, auth, automation, git, github, planning, settings, system, tasks, tasks-

Fusion-Task-Id: FN-3208
This commit is contained in:
Fusion
2026-05-02 20:44:50 -07:00
committed by gsxdsm
parent 04cf5f094c
commit e5fd33f3a4
5 changed files with 69 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ const createDefaultProps = () => ({
onOpenActivityLog: vi.fn(),
onOpenSystemStats: vi.fn(),
onOpenMailbox: vi.fn(),
onOpenNodes: vi.fn(),
mailboxUnreadCount: 0,
onOpenGitManager: vi.fn(),
onOpenWorkflowSteps: vi.fn(),
@@ -334,6 +335,29 @@ describe("MobileNavBar", () => {
expect(screen.getByTestId("mobile-more-item-insights")).toBeDefined();
});
it("shows nodes in more sheet only when nodesView is enabled", () => {
const disabledProps = createDefaultProps();
const { unmount } = render(<MobileNavBar {...disabledProps} experimentalFeatures={{}} />);
fireEvent.click(screen.getByTestId("mobile-nav-tab-more"));
expect(screen.queryByTestId("mobile-more-item-nodes")).toBeNull();
unmount();
const enabledProps = createDefaultProps();
render(<MobileNavBar {...enabledProps} experimentalFeatures={{ nodesView: true }} />);
fireEvent.click(screen.getByTestId("mobile-nav-tab-more"));
expect(screen.getByTestId("mobile-more-item-nodes")).toBeDefined();
});
it("invokes onOpenNodes when nodes item is tapped", () => {
const props = createDefaultProps();
render(<MobileNavBar {...props} experimentalFeatures={{ nodesView: true }} />);
fireEvent.click(screen.getByTestId("mobile-nav-tab-more"));
fireEvent.click(screen.getByTestId("mobile-more-item-nodes"));
expect(props.onOpenNodes).toHaveBeenCalledOnce();
});
it("does not show memory in more sheet when memoryView is not enabled", () => {
render(<MobileNavBar {...createDefaultProps()} experimentalFeatures={{}} />);
fireEvent.click(screen.getByTestId("mobile-nav-tab-more"));