diff --git a/tests/unit/runner-canvas.test.tsx b/tests/unit/runner-canvas.test.tsx index f4980758..13456642 100644 --- a/tests/unit/runner-canvas.test.tsx +++ b/tests/unit/runner-canvas.test.tsx @@ -328,4 +328,51 @@ describe("RunnerCanvas", () => { runtimeHostInstances[0]?.setSceneExitHandler ).toHaveBeenCalledTimes(2); }); + + it("keeps first-person HUD affordances hidden in third-person mode", async () => { + const runtimeScene = buildRuntimeSceneFromDocument( + createEmptySceneDocument() + ); + + render( + + ); + + await waitFor(() => { + expect(runtimeHostInstances).toHaveLength(1); + expect( + runtimeHostInstances[0]?.setSceneLoadStateHandler + ).toHaveBeenCalledTimes(1); + }); + + const publishSceneLoadState = runtimeHostInstances[0] + ?.setSceneLoadStateHandler.mock.calls[0]?.[0] as + | ((state: RuntimeSceneLoadState) => void) + | undefined; + + act(() => { + publishSceneLoadState?.({ + status: "ready", + message: null + }); + }); + + expect(document.querySelector(".runner-canvas__crosshair")).toBeNull(); + expect( + screen.queryByTestId("runner-interaction-prompt") + ).toBeNull(); + }); });