diff --git a/src/hooks/useInfiniteScroll.spec.tsx b/src/hooks/useInfiniteScroll.spec.tsx new file mode 100644 index 00000000..a4a0b01c --- /dev/null +++ b/src/hooks/useInfiniteScroll.spec.tsx @@ -0,0 +1,23 @@ +import { fireEvent, renderHook } from "@testing-library/react"; +import useInfiniteScroll from "./useInfiniteScroll"; + +describe("useInfiniteScroll", () => { + it("스크롤을 끝까지 내렸을 때 fetchNextPage 호출 확인", () => { + const fetchNextPage = jest.fn(); + renderHook(() => useInfiniteScroll(fetchNextPage)); + + Object.defineProperty(window, "scrollY", { + value: 0, + }); + Object.defineProperty(document.documentElement, "offsetHeight", { + value: 3000, + }); + // 스크롤을 끝까지 내리지 않음 + fireEvent.scroll(window); + // 스크롤을 끝까지 내림 + window.scrollY = 3000; + fireEvent.scroll(window); + + expect(fetchNextPage).toHaveBeenCalledTimes(1); + }); +});