diff --git a/tests/unit/third-person-navigation-controller.test.ts b/tests/unit/third-person-navigation-controller.test.ts index e416b719..d11ce7f6 100644 --- a/tests/unit/third-person-navigation-controller.test.ts +++ b/tests/unit/third-person-navigation-controller.test.ts @@ -179,8 +179,10 @@ describe("ThirdPersonNavigationController", () => { const { context, domElement } = createRuntimeControllerContext(playerStart); const controller = new ThirdPersonNavigationController(); const controllerInternals = controller as unknown as { + pointerLocked: boolean; handleMouseMove(event: MouseEvent): void; }; + const requestPointerLock = vi.fn(); const mouseMoveEvent = new MouseEvent("mousemove"); Object.defineProperty(mouseMoveEvent, "movementX", { @@ -191,13 +193,15 @@ describe("ThirdPersonNavigationController", () => { configurable: true, value: 0 }); - Object.defineProperty(document, "pointerLockElement", { + Object.defineProperty(domElement, "requestPointerLock", { configurable: true, - get: () => domElement + value: requestPointerLock }); controller.activate(context); - document.dispatchEvent(new Event("pointerlockchange")); + expect(requestPointerLock).toHaveBeenCalledTimes(1); + + controllerInternals.pointerLocked = true; controllerInternals.handleMouseMove(mouseMoveEvent); controller.update(0);