diff --git a/tests/unit/runner-canvas.test.tsx b/tests/unit/runner-canvas.test.tsx index a4f176bb..56979b9c 100644 --- a/tests/unit/runner-canvas.test.tsx +++ b/tests/unit/runner-canvas.test.tsx @@ -96,6 +96,7 @@ const { MockRuntimeHost, runtimeHostInstances } = vi.hoisted(() => { loadScene: ReturnType; updateAssets: ReturnType; setNavigationMode: ReturnType; + setRuntimeClockStateHandler: ReturnType; setRuntimeMessageHandler: ReturnType; setFirstPersonTelemetryHandler: ReturnType; setInteractionPromptHandler: ReturnType; @@ -109,6 +110,7 @@ const { MockRuntimeHost, runtimeHostInstances } = vi.hoisted(() => { loadScene = vi.fn(); updateAssets = vi.fn(); setNavigationMode = vi.fn(); + setRuntimeClockStateHandler = vi.fn(); setRuntimeMessageHandler = vi.fn(); setFirstPersonTelemetryHandler = vi.fn(); setInteractionPromptHandler = vi.fn(); @@ -387,6 +389,44 @@ describe("RunnerCanvas", () => { ).toHaveBeenCalledTimes(2); }); + it("renders the night background overlay behind the scene when the night profile is active", async () => { + const document = createEmptySceneDocument(); + document.time.nightBackground.assetId = "asset-night-sky"; + const runtimeScene = buildRuntimeSceneFromDocument(document); + + render( + + ); + + await waitFor(() => { + expect(runtimeHostInstances).toHaveLength(1); + }); + + expect(screen.getByTestId("runner-night-background-overlay")).toBeVisible(); + }); + it("keeps the crosshair hidden in third-person mode while still showing interaction prompts", async () => { const runtimeScene = buildRuntimeSceneFromDocument( createEmptySceneDocument()