')
- .attr('id', GRID_CONTAINER_ID)
- .appendTo(document.body);
-
- const instance = new DataGrid($container.get(0) as HTMLDivElement, options);
- const component = new DataGridModel($container.get(0) as HTMLElement);
-
- jest.runAllTimers();
- resolve({
- $container,
- component,
- instance,
- });
-});
-
-const beforeTest = (): void => {
- jest.useFakeTimers();
-};
-
-const afterTest = (): void => {
- const $container = $(SELECTORS.gridContainer);
- const dataGrid = (
- $container as dxElementWrapper & { dxDataGrid: (command: string) => DataGrid }
- ).dxDataGrid('instance');
-
- dataGrid.dispose();
- $container.remove();
- jest.clearAllMocks();
- jest.useRealTimers();
-};
-
describe('DataGrid editing', () => {
beforeEach(beforeTest);
afterEach(afterTest);
diff --git a/packages/devextreme/js/__internal/grids/grid_core/focus/m_focus.integration.test.ts b/packages/devextreme/js/__internal/grids/grid_core/focus/m_focus.integration.test.ts
index 4454c9640e9a..2137efed8d9e 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/focus/m_focus.integration.test.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/focus/m_focus.integration.test.ts
@@ -1,41 +1,14 @@
import {
- afterEach, describe, expect, it, jest,
+ afterEach, beforeEach, describe, expect, it, jest,
} from '@jest/globals';
-import type { dxElementWrapper } from '@js/core/renderer';
-import $ from '@js/core/renderer';
-import type { Properties as DataGridProperties } from '@js/ui/data_grid';
-import DataGrid from '@js/ui/data_grid';
-const SELECTORS = {
- gridContainer: '#gridContainer',
-};
-
-const GRID_CONTAINER_ID = 'gridContainer';
-
-const createDataGrid = async (
- options: DataGridProperties = {},
-): Promise<{ $container: dxElementWrapper; instance: DataGrid }> => new Promise((resolve) => {
- const $container = $('
')
- .attr('id', GRID_CONTAINER_ID)
- .appendTo(document.body);
-
- const instance = new DataGrid($container.get(0) as HTMLDivElement, {
- // @ts-ignore
- loadingTimeout: null,
- ...options,
- });
-
- resolve({ $container, instance });
-});
+import {
+ afterTest, beforeTest, createDataGrid, flushAsync,
+} from '../__tests__/__mock__/helpers/utils';
describe('GridCore focus', () => {
- afterEach(() => {
- const $container = $(SELECTORS.gridContainer);
- const dataGrid = ($container as any).dxDataGrid('instance') as DataGrid;
-
- dataGrid.dispose();
- $container.remove();
- });
+ beforeEach(beforeTest);
+ afterEach(afterTest);
const testCases: [boolean, 'insert' | 'remove' | 'update', number][] = [
[true, 'insert', 2],
@@ -94,6 +67,8 @@ describe('GridCore focus', () => {
break;
}
+ await flushAsync();
+
expect(onFocusedRowChanged.mock.calls.length).toBe(1);
expect(instance.option('focusedRowKey')).toEqual(2);
expect(instance.option('focusedRowIndex')).toEqual(expectedFocusedRowIndex);
diff --git a/packages/devextreme/js/__internal/grids/grid_core/master_detail/m_master_detail.integration.test.ts b/packages/devextreme/js/__internal/grids/grid_core/master_detail/m_master_detail.integration.test.ts
index 341f25bf1cc9..4b681f5a204d 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/master_detail/m_master_detail.integration.test.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/master_detail/m_master_detail.integration.test.ts
@@ -1,45 +1,21 @@
import {
- afterEach, describe, expect, it,
+ afterEach, beforeEach, describe, expect, it,
} from '@jest/globals';
-import type { dxElementWrapper } from '@js/core/renderer';
-import $ from '@js/core/renderer';
-import type { Properties as DataGridProperties } from '../../../../ui/data_grid';
-import DataGrid from '../../../../ui/data_grid';
+import {
+ afterTest,
+ beforeTest,
+ createDataGrid,
+} from '../__tests__/__mock__/helpers/utils';
const SELECTORS = {
- gridContainer: '#gridContainer',
detailCell: 'dx-master-detail-cell',
detailContainer: 'dx-datagrid-master-detail-container',
};
-const GRID_CONTAINER_ID = 'gridContainer';
-
-const createDataGrid = async (
- options: DataGridProperties = {},
-): Promise<{ $container: dxElementWrapper; instance: DataGrid }> => new Promise((resolve) => {
- const $container = $('
')
- .attr('id', GRID_CONTAINER_ID)
- .appendTo(document.body);
-
- const instance = new DataGrid($container.get(0) as HTMLDivElement, options);
-
- const contentReadyHandler = (): void => {
- resolve({ $container, instance });
- instance.off('contentReady', contentReadyHandler);
- };
-
- instance.on('contentReady', contentReadyHandler);
-});
-
describe('GridCore master_detail', () => {
- afterEach(() => {
- const $container = $(SELECTORS.gridContainer);
- const dataGrid = ($container as any).dxDataGrid('instance') as DataGrid;
-
- dataGrid.dispose();
- $container.remove();
- });
+ beforeEach(beforeTest);
+ afterEach(afterTest);
describe('master detail container', () => {
it('container is td element', async () => {