From 83eb0a4f4a9b1250b6eae0084aa24de0ed69d4f9 Mon Sep 17 00:00:00 2001 From: liuyib <1656081615@qq.com> Date: Thu, 25 Apr 2024 20:34:20 +0800 Subject: [PATCH 1/2] test: fix case --- .../src/useSelections/__tests__/index.test.ts | 68 +++++++++++-------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/packages/hooks/src/useSelections/__tests__/index.test.ts b/packages/hooks/src/useSelections/__tests__/index.test.ts index caa8071800..6ce04c26b3 100644 --- a/packages/hooks/src/useSelections/__tests__/index.test.ts +++ b/packages/hooks/src/useSelections/__tests__/index.test.ts @@ -196,35 +196,43 @@ describe('useSelections', () => { }); it('clearAll should work correct', async () => { - const { result } = renderHook(() => { - const [list, setList] = useState(data); - const hook = useSelections(list); - return { setList, hook }; - }); - const { setSelected, unSelectAll, clearAll } = result.current.hook; - - act(() => { - setSelected([1, 2, 3]); - }); - expect(result.current.hook.selected).toEqual([1, 2, 3]); - expect(result.current.hook.allSelected).toBe(true); - - act(() => { - result.current.setList([3, 4, 5]); - }); - expect(result.current.hook.allSelected).toBe(false); - - act(() => { - unSelectAll(); - }); - expect(result.current.hook.selected).toEqual([1, 2]); - - act(() => { - clearAll(); - }); - expect(result.current.hook.selected).toEqual([]); - expect(result.current.hook.allSelected).toEqual(false); - expect(result.current.hook.noneSelected).toBe(true); - expect(result.current.hook.partiallySelected).toBe(false); + const caseCallback = (data, newData, remainData) => { + const { result } = renderHook(() => { + const [list, setList] = useState(data); + const hook = useSelections(list, { + itemKey: 'id', + }); + + return { setList, hook }; + }); + const { setSelected, unSelectAll, clearAll } = result.current.hook; + + act(() => { + setSelected(data); + }); + expect(result.current.hook.selected).toEqual(data); + expect(result.current.hook.allSelected).toBe(true); + + act(() => { + result.current.setList(newData); + }); + expect(result.current.hook.allSelected).toBe(false); + + act(() => { + unSelectAll(); + }); + expect(result.current.hook.selected).toEqual(remainData); + + act(() => { + clearAll(); + }); + expect(result.current.hook.selected).toEqual([]); + expect(result.current.hook.allSelected).toEqual(false); + expect(result.current.hook.noneSelected).toBe(true); + expect(result.current.hook.partiallySelected).toBe(false); + }; + + caseCallback(_data, [3, 4, 5], [1, 2]); + caseCallback(_dataObj, [{ id: 3 }, { id: 4 }, { id: 5 }], [{ id: 1 }, { id: 2 }]); }); }); From b0453ea6e2a8538bde20a576626df8e734c6fb76 Mon Sep 17 00:00:00 2001 From: liuyib <1656081615@qq.com> Date: Thu, 25 Apr 2024 20:36:59 +0800 Subject: [PATCH 2/2] style: rename --- packages/hooks/src/useSelections/__tests__/index.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/hooks/src/useSelections/__tests__/index.test.ts b/packages/hooks/src/useSelections/__tests__/index.test.ts index 6ce04c26b3..15cfa76191 100644 --- a/packages/hooks/src/useSelections/__tests__/index.test.ts +++ b/packages/hooks/src/useSelections/__tests__/index.test.ts @@ -196,7 +196,7 @@ describe('useSelections', () => { }); it('clearAll should work correct', async () => { - const caseCallback = (data, newData, remainData) => { + const runCase = (data, newData, remainData) => { const { result } = renderHook(() => { const [list, setList] = useState(data); const hook = useSelections(list, { @@ -232,7 +232,7 @@ describe('useSelections', () => { expect(result.current.hook.partiallySelected).toBe(false); }; - caseCallback(_data, [3, 4, 5], [1, 2]); - caseCallback(_dataObj, [{ id: 3 }, { id: 4 }, { id: 5 }], [{ id: 1 }, { id: 2 }]); + runCase(_data, [3, 4, 5], [1, 2]); + runCase(_dataObj, [{ id: 3 }, { id: 4 }, { id: 5 }], [{ id: 1 }, { id: 2 }]); }); });