From 5fb68bfbd52e3f8a6deee92a9a64898b509c8748 Mon Sep 17 00:00:00 2001 From: Aman Mahajan Date: Mon, 27 Oct 2025 15:50:02 -0500 Subject: [PATCH] Add `VRT` for `` (#3903) * Add `VRT` for `` * Remove `if` condition * Fix filename * Fix if condition * Fix screenshot name * Does this work? * Fix selector * Update screenshots Co-authored-by: amanmahajan7 * Fix key * Update screenshots Co-authored-by: amanmahajan7 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .github/workflows/update-screenshots.yml | 2 +- .../tree-grid-chromium-linux.png | Bin 0 -> 14703 bytes .../tree-grid-firefox-linux.png | Bin 0 -> 16978 bytes test/visual/treeGrid.test.tsx | 89 ++++++++++++++++++ 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-chromium-linux.png create mode 100644 test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-firefox-linux.png create mode 100644 test/visual/treeGrid.test.tsx diff --git a/.github/workflows/update-screenshots.yml b/.github/workflows/update-screenshots.yml index 6c87f04775..d0bc403759 100644 --- a/.github/workflows/update-screenshots.yml +++ b/.github/workflows/update-screenshots.yml @@ -15,7 +15,7 @@ env: jobs: update-screenshots: - if: ${{ github.event.label.name == 'Update Screenshots' }} + if: ${{ github.event.label.name == 'Update Screenshots' || github.event_name == 'workflow_dispatch' }} runs-on: ubuntu-latest permissions: diff --git a/test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-chromium-linux.png b/test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..784b3ce76d3900b90cc704338d8614c57d2a2e1c GIT binary patch literal 14703 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 literal 0 HcmV?d00001 diff --git a/test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-firefox-linux.png b/test/visual/__screenshots__/treeGrid.test.tsx/tree-grid-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..6c54a4684beddaaac36d62d9193b2b0fded6401c GIT binary patch literal 16978 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 J1i51u{~Pm-7lr@; literal 0 HcmV?d00001 diff --git a/test/visual/treeGrid.test.tsx b/test/visual/treeGrid.test.tsx new file mode 100644 index 0000000000..6b9c67840d --- /dev/null +++ b/test/visual/treeGrid.test.tsx @@ -0,0 +1,89 @@ +import { page } from 'vitest/browser'; + +import { SelectColumn, TreeDataGrid, type Column } from '../../src'; +import { getTreeGrid } from '../browser/utils'; + +interface Row { + id: number; + country: string; + year: number; +} + +type SummaryRow = undefined; + +const topSummaryRows: readonly SummaryRow[] = [undefined]; +const bottomSummaryRows: readonly SummaryRow[] = [undefined]; + +const columns: readonly Column[] = [ + SelectColumn, + { + key: 'sport', + name: 'Sport' + }, + { + key: 'country', + name: 'Country' + }, + { + key: 'year', + name: 'Year' + }, + { + key: 'id', + name: 'Id', + renderGroupCell({ childRows }) { + return Math.min(...childRows.map((c) => c.id)); + } + } +]; + +const rows: readonly Row[] = [ + { + id: 1, + country: 'USA', + year: 2020 + }, + { + id: 2, + country: 'USA', + year: 2021 + }, + { + id: 3, + country: 'Canada', + year: 2021 + }, + { + id: 4, + country: 'Canada', + year: 2022 + } +]; + +test('tree grid', async () => { + await page.render( + {}} + /> + ); + + await expect(getTreeGrid()).toMatchScreenshot('tree-grid'); +}); + +function rowKeyGetter(row: Row) { + return row.id; +} + +function rowGrouper(rows: readonly Row[], columnKey: string) { + // @ts-expect-error + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return Object.groupBy(rows, (r) => r[columnKey]) as Record; +}