From 11c10bbcbcb98fb7b97c6a92de6bf56c01b73eb3 Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskii Date: Tue, 12 Dec 2023 17:59:37 +0100 Subject: [PATCH] [test] Fix flaky screenshots (#11388) --- .../row-selection/ControlledSelectionServerPaginationGrid.js | 4 ++-- .../row-selection/ControlledSelectionServerPaginationGrid.tsx | 4 ++-- docs/data/data-grid/row-updates/InfiniteLoadingGrid.js | 3 ++- docs/data/data-grid/row-updates/InfiniteLoadingGrid.tsx | 3 ++- packages/grid/x-data-grid-generator/src/hooks/useQuery.ts | 3 ++- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.js b/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.js index 8f1d97c04a5e5..3a6540ab8bb96 100644 --- a/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.js +++ b/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.js @@ -1,12 +1,12 @@ import * as React from 'react'; import { DataGrid } from '@mui/x-data-grid'; -import { useDemoData } from '@mui/x-data-grid-generator'; +import { useDemoData, randomInt } from '@mui/x-data-grid-generator'; function loadServerRows(page, data) { return new Promise((resolve) => { setTimeout(() => { resolve(data.rows.slice(page * 5, (page + 1) * 5)); - }, Math.random() * 500 + 100); // simulate network latency + }, randomInt(100, 600)); // simulate network latency }); } diff --git a/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.tsx b/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.tsx index a401a1263b4f2..9cd691a34f7e9 100644 --- a/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.tsx +++ b/docs/data/data-grid/row-selection/ControlledSelectionServerPaginationGrid.tsx @@ -1,12 +1,12 @@ import * as React from 'react'; import { DataGrid, GridRowsProp, GridRowSelectionModel } from '@mui/x-data-grid'; -import { GridDemoData, useDemoData } from '@mui/x-data-grid-generator'; +import { GridDemoData, useDemoData, randomInt } from '@mui/x-data-grid-generator'; function loadServerRows(page: number, data: GridDemoData): Promise { return new Promise((resolve) => { setTimeout(() => { resolve(data.rows.slice(page * 5, (page + 1) * 5)); - }, Math.random() * 500 + 100); // simulate network latency + }, randomInt(100, 600)); // simulate network latency }); } diff --git a/docs/data/data-grid/row-updates/InfiniteLoadingGrid.js b/docs/data/data-grid/row-updates/InfiniteLoadingGrid.js index 616446081e3da..1d49108489729 100644 --- a/docs/data/data-grid/row-updates/InfiniteLoadingGrid.js +++ b/docs/data/data-grid/row-updates/InfiniteLoadingGrid.js @@ -4,6 +4,7 @@ import { useDemoData, getRealGridData, getCommodityColumns, + randomInt, } from '@mui/x-data-grid-generator'; import LinearProgress from '@mui/material/LinearProgress'; @@ -31,7 +32,7 @@ export default function InfiniteLoadingGrid() { setLoading(true); const newData = await getRealGridData(newRowLength, getCommodityColumns()); // Simulate network throttle - await sleep(Math.random() * 500 + 100); + await sleep(randomInt(100, 600)); if (mounted.current) { setLoading(false); diff --git a/docs/data/data-grid/row-updates/InfiniteLoadingGrid.tsx b/docs/data/data-grid/row-updates/InfiniteLoadingGrid.tsx index bf1c14ea09809..f25f0c832f9b2 100644 --- a/docs/data/data-grid/row-updates/InfiniteLoadingGrid.tsx +++ b/docs/data/data-grid/row-updates/InfiniteLoadingGrid.tsx @@ -4,6 +4,7 @@ import { useDemoData, getRealGridData, getCommodityColumns, + randomInt, } from '@mui/x-data-grid-generator'; import LinearProgress from '@mui/material/LinearProgress'; @@ -31,7 +32,7 @@ export default function InfiniteLoadingGrid() { setLoading(true); const newData = await getRealGridData(newRowLength, getCommodityColumns()); // Simulate network throttle - await sleep(Math.random() * 500 + 100); + await sleep(randomInt(100, 600)); if (mounted.current) { setLoading(false); diff --git a/packages/grid/x-data-grid-generator/src/hooks/useQuery.ts b/packages/grid/x-data-grid-generator/src/hooks/useQuery.ts index 530cd0bd66753..d864e2601a826 100644 --- a/packages/grid/x-data-grid-generator/src/hooks/useQuery.ts +++ b/packages/grid/x-data-grid-generator/src/hooks/useQuery.ts @@ -16,6 +16,7 @@ import { getColumnsFromOptions, getInitialState, } from './useDemoData'; +import { randomInt } from '../services/random-generator'; const simplifiedValueGetter = (field: string, colDef: GridColDef) => (row: GridRowModel) => { const params = { id: row.id, row, field, rowNode: {} }; @@ -118,7 +119,7 @@ export const loadServerRows = ( if (maxDelay < minDelay) { throw new Error('serverOptions.minDelay is larger than serverOptions.maxDelay '); } - const delay = Math.random() * (maxDelay - minDelay) + minDelay; + const delay = randomInt(minDelay, maxDelay); const { cursor, page = 0, pageSize } = queryOptions;