From 03b86a26e61300cd2c6e543df076b17aba7b099d Mon Sep 17 00:00:00 2001 From: Poli Sour Date: Thu, 16 Oct 2025 18:37:40 +0800 Subject: [PATCH] =?UTF-8?q?test/window-scroll=20=F0=9F=A7=8A=20test:=20Add?= =?UTF-8?q?=20test=20for=20useWindowScroll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../useWindowScroll/useWindowScroll.test.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 packages/core/src/hooks/useWindowScroll/useWindowScroll.test.ts diff --git a/packages/core/src/hooks/useWindowScroll/useWindowScroll.test.ts b/packages/core/src/hooks/useWindowScroll/useWindowScroll.test.ts new file mode 100644 index 00000000..88718216 --- /dev/null +++ b/packages/core/src/hooks/useWindowScroll/useWindowScroll.test.ts @@ -0,0 +1,23 @@ +import { renderHook } from '@testing-library/react'; + +import { useWindowScroll } from './useWindowScroll'; + +const mockScrollTo = vi.fn(); + +beforeAll(() => { + vi.stubGlobal('scrollTo', mockScrollTo); +}); + +afterAll(() => { + vi.unstubAllGlobals(); +}); + +it('Should use window scroll', () => { + const { result } = renderHook(() => useWindowScroll()); + + expect(result.current.value).toEqual({ x: 0, y: 0 }); + + result.current.scrollTo({ x: 100, y: 100 }); + + expect(globalThis.scrollTo).toBeCalledWith({ left: 100, top: 100, behavior: 'smooth' }); +});