shoc-frontend-new/src/test/app/(protected)/workorders/use-sync-out-of-range-search-page.test.tsx

50 lines
1.3 KiB
TypeScript

import { renderHook } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
import { useSyncOutOfRangeSearchPage } from "@/app/(protected)/workorders/_hooks/use-sync-out-of-range-search-page";
describe("useSyncOutOfRangeSearchPage", () => {
it("sets the last valid page when a search shrinks to one page", () => {
const setPage = vi.fn();
renderHook(() =>
useSyncOutOfRangeSearchPage({
enabled: true,
ready: true,
page: 1,
pageSize: 50,
totalCount: 40,
setPage,
}),
);
expect(setPage).toHaveBeenCalledWith(0);
});
it("does not sync while the search query is loading", () => {
const setPage = vi.fn();
renderHook(() =>
useSyncOutOfRangeSearchPage({
enabled: true,
ready: false,
page: 1,
pageSize: 50,
totalCount: 40,
setPage,
}),
);
expect(setPage).not.toHaveBeenCalled();
});
it("does not sync when the result set is empty", () => {
const setPage = vi.fn();
renderHook(() =>
useSyncOutOfRangeSearchPage({
enabled: true,
ready: true,
page: 1,
pageSize: 50,
totalCount: 0,
setPage,
}),
);
expect(setPage).not.toHaveBeenCalled();
});
});