From 24d655221aad3cbfcc49dc38870bc498f11b8042 Mon Sep 17 00:00:00 2001 From: Sylvain Lesage Date: Thu, 6 Feb 2025 14:52:37 +0100 Subject: [PATCH 1/2] remove act() where not needed in the tests, removes warnings --- test/HighTable.test.tsx | 47 +++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/test/HighTable.test.tsx b/test/HighTable.test.tsx index 548f1d71..02420fdf 100644 --- a/test/HighTable.test.tsx +++ b/test/HighTable.test.tsx @@ -129,7 +129,6 @@ describe('HighTable', () => { describe('When sorted, HighTable', () => { - function checkRowContents(row: HTMLElement, rowNumber: string, ID: string, Count: string) { const selectionCell = within(row).getByRole('rowheader') expect(selectionCell).toBeDefined() @@ -281,9 +280,10 @@ describe('in controlled selection state (selection and onSelection props), ', () const rowHeader = cell.closest('[role="row"]')?.querySelector('[role="rowheader"]') expect(rowHeader).not.toBeNull() - await act(async () => { - rowHeader && await user.click(rowHeader) - }) + + if (!rowHeader) throw new Error('rowHeader is null') + await user.click(rowHeader) + expect(onSelectionChange).toHaveBeenCalledWith({ ranges: [{ start, end: start + 1 }], anchor: start }) expect(queryByRole('row', { selected: true })).toBeNull() }) @@ -299,9 +299,10 @@ describe('in controlled selection state (selection and onSelection props), ', () const rowHeader = row.querySelector('[role="rowheader"]') expect(rowHeader).not.toBeNull() - await act(async () => { - rowHeader && await user.click(rowHeader) - }) + if (!rowHeader) throw new Error('rowHeader is null') + + await user.click(rowHeader) + expect(onSelectionChange).toHaveBeenCalledWith({ ranges: [], anchor: start }) }) @@ -316,11 +317,12 @@ describe('in controlled selection state (selection and onSelection props), ', () onSelectionChange.mockClear() const otherRowHeader = cell.closest('[role="row"]')?.querySelector('[role="rowheader"]') expect(otherRowHeader).not.toBeNull() - await act(async () => { - // see https://testing-library.com/docs/user-event/setup/#starting-a-session-per-setup - await user.keyboard('[ShiftLeft>]') // Press Shift (without releasing it) - otherRowHeader && await user.click(otherRowHeader) // Perform a click with `shiftKey: true` - }) + if (!otherRowHeader) throw new Error('otherRowHeader is null') + + // see https://testing-library.com/docs/user-event/setup/#starting-a-session-per-setup + await user.keyboard('[ShiftLeft>]') // Press Shift (without releasing it) + await user.click(otherRowHeader) // Perform a click with `shiftKey: true` + expect(onSelectionChange).toHaveBeenCalledWith({ ranges: [{ start: start, end: other + 1 }], anchor: start }) }) }) @@ -431,9 +433,10 @@ describe('in uncontrolled selection state (onSelection prop), ', () => { const rowHeader = cell.closest('[role="row"]')?.querySelector('[role="rowheader"]') expect(rowHeader).not.toBeNull() - await act(async () => { - rowHeader && await user.click(rowHeader) - }) + + if (!rowHeader) throw new Error('rowHeader is null') + await user.click(rowHeader) + expect(onSelectionChange).toHaveBeenCalledWith({ ranges: [{ start, end: start + 1 }], anchor: start }) expect(queryByRole('row', { selected: true })?.getAttribute('aria-rowindex')).toBe(`${start + 2}`) }) @@ -450,9 +453,10 @@ describe('in uncontrolled selection state (onSelection prop), ', () => { // select a row const rowHeader = cell.closest('[role="row"]')?.querySelector('[role="rowheader"]') expect(rowHeader).not.toBeNull() - await act(async () => { - rowHeader && await user.click(rowHeader) - }) + + if (!rowHeader) throw new Error('rowHeader is null') + await user.click(rowHeader) + expect(onSelectionChange).toHaveBeenCalledWith({ ranges: [{ start, end: start + 1 }], anchor: start }) rerender() @@ -501,9 +505,10 @@ describe('in disabled selection state (neither selection nor onSelection props), const rowHeader = cell.closest('[role="row"]')?.querySelector('[role="rowheader"]') expect(rowHeader).not.toBeNull() - await act(async () => { - rowHeader && await user.click(rowHeader) - }) + if (!rowHeader) throw new Error('rowHeader is null') + + await user.click(rowHeader) + expect(queryByRole('row', { selected: true })).toBeNull() }) }) From 73e536cf3cbece88b234f1ee9cda304a13ab2b7f Mon Sep 17 00:00:00 2001 From: Sylvain Lesage Date: Mon, 24 Feb 2025 15:05:34 +0100 Subject: [PATCH 2/2] update CHANGELOG --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1941d0a5..3f401dd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ ### Refactored -- updated the link to the demo in the README. +- updated the link to the demo in the README ([ef4a642](https://github.com/hyparam/hightable/commit/ef4a642c0c8dc5478abb675e200e2bab2c274518)). +- removed call to `act()` in tests where not required ([#54](https://github.com/hyparam/hightable/pull/54)). ## [0.10.0](https://github.com/hyparam/hightable/compare/v0.9.2...v0.10.0) - 2025-02-11