|
| 1 | +import { createScreenshotsComparer } from 'devextreme-screenshot-comparer'; |
1 | 2 | import { ClientFunction } from 'testcafe'; |
2 | 3 | import DataGrid from 'devextreme-testcafe-models/dataGrid'; |
3 | 4 | import url from '../../../../../helpers/getPageUrl'; |
@@ -919,3 +920,70 @@ test('It is possible to focus row that was added via push method if previously r |
919 | 920 | }, |
920 | 921 | ], |
921 | 922 | })); |
| 923 | + |
| 924 | +[null, undefined, -1, 'test'].forEach((groupValue) => { |
| 925 | + test(`Group should expand when focusedRowKey is set - group: ${groupValue}`, async (t) => { |
| 926 | + const { takeScreenshot, compareResults } = createScreenshotsComparer(t); |
| 927 | + const dataGrid = new DataGrid('#container'); |
| 928 | + |
| 929 | + await dataGrid.apiOption('focusedRowKey', 1); |
| 930 | + |
| 931 | + await takeScreenshot(`focused-row_under_group=${groupValue}.png`, dataGrid.element); |
| 932 | + |
| 933 | + await t |
| 934 | + .expect(compareResults.isValid()) |
| 935 | + .ok(compareResults.errorMessages()); |
| 936 | + }).before(async () => createWidget('dxDataGrid', { |
| 937 | + dataSource: [ |
| 938 | + { id: 1, group: groupValue, name: 'Item 1' }, |
| 939 | + { id: 2, group: groupValue, name: 'Item 2' }, |
| 940 | + { id: 3, group: 'A', name: 'Item 3' }, |
| 941 | + { id: 4, group: 'A', name: 'Item 4' }, |
| 942 | + ], |
| 943 | + keyExpr: 'id', |
| 944 | + grouping: { |
| 945 | + autoExpandAll: false, |
| 946 | + }, |
| 947 | + columns: [ |
| 948 | + { dataField: 'id' }, |
| 949 | + { dataField: 'group', groupIndex: 0 }, |
| 950 | + { dataField: 'name' }, |
| 951 | + ], |
| 952 | + height: 400, |
| 953 | + focusedRowEnabled: true, |
| 954 | + })); |
| 955 | +}); |
| 956 | + |
| 957 | +test('Group should expand when focusedRowKey is set and data items have \'items\' property', async (t) => { |
| 958 | + const { takeScreenshot, compareResults } = createScreenshotsComparer(t); |
| 959 | + const dataGrid = new DataGrid('#container'); |
| 960 | + |
| 961 | + await dataGrid.apiOption('focusedRowKey', 1); |
| 962 | + |
| 963 | + await takeScreenshot('focused-row_under_group_when_data-items_have_items-property.png', dataGrid.element); |
| 964 | + |
| 965 | + await t |
| 966 | + .expect(compareResults.isValid()) |
| 967 | + .ok(compareResults.errorMessages()); |
| 968 | +}).before(async () => createWidget('dxDataGrid', { |
| 969 | + dataSource: [ |
| 970 | + { |
| 971 | + id: 1, group: 'A', name: 'Item 1', items: 1, |
| 972 | + }, |
| 973 | + { |
| 974 | + id: 2, group: 'A', name: 'Item 2', items: 2, |
| 975 | + }, |
| 976 | + ], |
| 977 | + keyExpr: 'id', |
| 978 | + grouping: { |
| 979 | + autoExpandAll: false, |
| 980 | + }, |
| 981 | + columns: [ |
| 982 | + { dataField: 'id' }, |
| 983 | + { dataField: 'group', groupIndex: 0 }, |
| 984 | + { dataField: 'name' }, |
| 985 | + { dataField: 'items' }, |
| 986 | + ], |
| 987 | + height: 400, |
| 988 | + focusedRowEnabled: true, |
| 989 | +})); |
0 commit comments