From 530fce6fe1410e7fad34e97173bea5e1b28f83b1 Mon Sep 17 00:00:00 2001 From: Raushen Date: Fri, 3 Jul 2026 15:54:49 +0300 Subject: [PATCH] Fix unstable KBN tests --- .../keyboardNavigation.functional.ts | 82 ++----------------- 1 file changed, 8 insertions(+), 74 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.functional.ts b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.functional.ts index 099752eb961e..b692c2de43ef 100644 --- a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.functional.ts +++ b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.functional.ts @@ -27,7 +27,7 @@ const getOnKeyDownCallCount = ClientFunction(() => (window as any).onKeyDownCall fixture.disablePageReloads`Keyboard Navigation - common` .page(url(__dirname, '../../../container.html')); -test.meta({ unstable: true })('Changing keyboardNavigation options should not invalidate the entire content (T1197829)', async (t) => { +test('Changing keyboardNavigation options should not invalidate the entire content (T1197829)', async (t) => { const dataGrid = new DataGrid('#container'); await t .expect(dataGrid.isReady()) @@ -167,9 +167,7 @@ test('Navigation via the Tab key should work when cellRender/cellComponent is us // eslint-disable-next-line no-underscore-dangle dataGrid._getTemplate = () => ({ render(options) { - setTimeout(() => { - options.deferred?.resolve(); - }, 100); + Promise.resolve().then(() => options.deferred?.resolve()); }, }); @@ -1870,7 +1868,7 @@ test('The expand cell should not lose focus on expanding a master row (T892203)' columns: ['a', 'b'], })); - test.meta({ unstable: true })(`${editMode} mode - Shift+Tab from the first editable cell should move focus to the last header (T1329750)`, async (t) => { + test(`${editMode} mode - Shift+Tab from the first editable cell should move focus to the last header (T1329750)`, async (t) => { const dataGrid = new DataGrid('#container') as any; const cell00 = dataGrid.getDataCell(0, 0); const editor00 = cell00.getEditor(); @@ -3066,7 +3064,7 @@ test('New mode. A cell should be focused when the PageDow/Up key is pressed (T89 }); }); -test.meta({ unstable: true })('Cells should be focused after saving data when filter is applied and cell mode is used (T1029906)', async (t) => { +test('Cells should be focused after saving data when filter is applied and cell mode is used (T1029906)', async (t) => { const dataGrid = new DataGrid('#container'); await t .expect(dataGrid.isReady()) @@ -3691,70 +3689,6 @@ test('Window should not be scrolled after clicking on freespace row (T1104035)', height: 1500, })); -test('edit => scroll => command, should not result in grid scrolling back to edit', async (t) => { - const dataGrid = new DataGrid('#container'); - await t - .expect(dataGrid.isReady()) - .ok(); - - await t.wait(100); - await ClientFunction(() => { - const grid = ($('#container') as any).dxDataGrid('instance'); - setTimeout(() => { - grid.getCellElement(1, 1).trigger('dxclick'); - setTimeout(() => { - grid.getScrollable().scrollTo({ x: 10000 }); - setTimeout( - () => { $('.dx-link-delete').first().trigger('focusin'); }, - 100, - ); - }, 100); - }, 500); - })(); - - await t.wait(100) - .expect(dataGrid.getScrollLeft()) - .notEql(0); -}).before(async () => createWidget('dxDataGrid', { - editing: { - mode: 'cell', - allowUpdating: true, - allowDeleting: true, - }, - width: 900, - scrolling: { - useNative: false, - }, - dataSource: [ - { - ID: 1, Prefix: '1', FirstName: '1', LastName: '1', StateID: '1', BirthDate: '1', - }, { - ID: 2, Prefix: '2', FirstName: '2', LastName: '2', StateID: '2', BirthDate: '2', - }, - ], - columns: [ - { - dataField: 'Prefix', - caption: 'Title', - width: 200, - }, - { dataField: 'FirstName', width: 200 }, - { dataField: 'LastName', width: 200 }, { - dataField: 'Position', - width: 200, - }, { - dataField: 'StateID', - caption: 'State', - width: 200, - - }, { - dataField: 'BirthDate', - dataType: 'date', - width: 200, - }, - ], -})); - test('Navigation shouldn\'t get stuck on cell templates with links in them when navigating from outside the grid (T1123129)', async (t) => { const dataGrid = new DataGrid('#container'); await t @@ -6243,7 +6177,7 @@ test('The last cell should be focused after changing the page size (T1063530)', })(); }); - test.meta({ unstable: true })(`Focus events should be called when pressing the Ctrl + End key when virtual scrolling and columns are enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { + test(`Focus events should be called when pressing the Ctrl + End key when virtual scrolling and columns are enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { // arrange const dataGrid = new DataGrid('#container'); @@ -6323,7 +6257,7 @@ test('The last cell should be focused after changing the page size (T1063530)', })(); }); - test.meta({ unstable: true })(`Focus events should be called when pressing the Ctrl + End key when rowRenderingMode is 'virtual' (scrolling.useNative = ${useNativeScrolling})`, async (t) => { + test(`Focus events should be called when pressing the Ctrl + End key when rowRenderingMode is 'virtual' (scrolling.useNative = ${useNativeScrolling})`, async (t) => { // arrange const dataGrid = new DataGrid('#container'); @@ -6403,7 +6337,7 @@ test('The last cell should be focused after changing the page size (T1063530)', })(); }); - test.meta({ unstable: true })(`Focus events should be called when pressing the Ctrl + End key when infinite scrolling is enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { + test(`Focus events should be called when pressing the Ctrl + End key when infinite scrolling is enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { // arrange const dataGrid = new DataGrid('#container'); @@ -6661,7 +6595,7 @@ test('The last cell should be focused after changing the page size (T1063530)', })(); }); - test.meta({ unstable: true })(`Focus events should be called when pressing the Ctrl + End key when virtual columns, virtual scrolling and focusedRowEnabled are enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { + test(`Focus events should be called when pressing the Ctrl + End key when virtual columns, virtual scrolling and focusedRowEnabled are enabled (scrolling.useNative = ${useNativeScrolling})`, async (t) => { // arrange const dataGrid = new DataGrid('#container');