Skip to content

Commit 5bcdd96

Browse files
Merge branch '25_2' into 25_2_reduce_runners
2 parents 27e7f21 + e8ddaf0 commit 5bcdd96

File tree

13 files changed

+116
-76
lines changed

13 files changed

+116
-76
lines changed

.github/workflows/testcafe_tests.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,9 @@ jobs:
9898
{ componentFolder: "common", name: "common" },
9999

100100
# Grids tests need to be reworked to work in fluent theme
101-
{ componentFolder: "dataGrid/common", name: "dataGrid / common (1/3)", indices: "1/3" },
102-
{ componentFolder: "dataGrid/common", name: "dataGrid / common (2/3)", indices: "2/3" },
103-
{ componentFolder: "dataGrid/common", name: "dataGrid / common (3/3)", indices: "3/3" },
104-
{ componentFolder: "dataGrid/sticky", name: "dataGrid / sticky (1/2)", indices: "1/2" },
105-
{ componentFolder: "dataGrid/sticky", name: "dataGrid / sticky (2/2)", indices: "2/2" },
101+
{ componentFolder: "dataGrid", name: "dataGrid (1/3)", indices: "1/3" },
102+
{ componentFolder: "dataGrid", name: "dataGrid (2/3)", indices: "2/3" },
103+
{ componentFolder: "dataGrid", name: "dataGrid (3/3)", indices: "3/3" },
106104
{ componentFolder: "cardView", name: "cardView" },
107105

108106
# Scheduler tests need to be reworked to work in fluent theme

e2e/testcafe-devextreme/tests/dataGrid/common/editing.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,9 +2136,6 @@ test('The "Cannot read property "brokenRules" of undefined" error occurs T978286
21362136
// act
21372137
await testScreenshot(t, takeScreenshot, screenshotName, { element: dataGrid.element });
21382138
await t
2139-
.expect(compareResults.isValid())
2140-
.ok()
2141-
// assert
21422139
.expect(dataGrid.getDataRow(insertedRowNumber).isInserted)
21432140
.ok('row is inserted')
21442141
.expect(compareResults.isValid())
@@ -2216,14 +2213,13 @@ test('Popup EditForm screenshot when editRowKey is initially specified', async (
22162213
await t
22172214
// act
22182215
.click(dataGrid.getHeaderPanel().getSaveButton())
2219-
.wait(500)
22202216

22212217
// assert
22222218
.expect(dataGrid.dataRows.count)
2223-
.eql(5)
2219+
.eql(remoteOperations ? 5 : 6)
22242220

22252221
.expect(dataGrid.getDataCell(0, 0).element.textContent)
2226-
.eql('val_0_0');
2222+
.eql(remoteOperations ? 'val_0_0' : 'val_5_0');
22272223
}).before(async () => {
22282224
const data = getData(10, 4);
22292225

@@ -2286,6 +2282,7 @@ test('Popup EditForm screenshot when editRowKey is initially specified', async (
22862282
})();
22872283
});
22882284
});
2285+
22892286
// visual: generic.light
22902287
// visual: material.blue.light
22912288
[true, false].forEach((useIcons) => {

e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.functional.ts

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2605,23 +2605,6 @@ test('Empty row should lose focus on Tab (T941246)', async (t) => {
26052605
}
26062606

26072607
await checkNavigationOfAllCells();
2608-
2609-
await t
2610-
.pressKey('tab');
2611-
2612-
const $buttonElement = isCommandColumnFixed
2613-
? dataGrid.getFixedDataRow(1).getCommandCell(2).getButton(0)
2614-
: dataGrid.getDataRow(1).getCommandCell(2).getButton(0);
2615-
2616-
await t
2617-
.expect($buttonElement.focused)
2618-
.notOk()
2619-
.pressKey('shift+tab')
2620-
.expect($buttonElement.focused)
2621-
.ok()
2622-
.pressKey('shift+tab')
2623-
.expect(dataGrid.getDataCell(1, 1).element.focused)
2624-
.ok();
26252608
}).before(async () => {
26262609
await createWidget('dxDataGrid', {
26272610
dataSource: [

e2e/testcafe-devextreme/tests/dataGrid/common/scrolling.ts

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,34 +1833,31 @@ test('DataGrid - The "row" parameter in the FocusedRowChanged event refers to a
18331833
[true, false].forEach((nativeScroll) => {
18341834
type TestCaseWindow = typeof window & { dataGridScrollableEventValues?: number[] };
18351835

1836-
test(
1837-
`Should not scroll back on top with virtual scrolling and adaptive master detail (nativeScroll: ${nativeScroll}) [T1278804]`,
1838-
async (t) => {
1839-
// NOTE: idx + 1 logic inside POM
1840-
const adaptiveCellIdx = 101;
1841-
const scrollValuesThreshold = 100;
1842-
1843-
const dataGrid = new DataGrid('#container');
1844-
const firstRow = dataGrid.getDataRow(0);
1845-
const firstDataCell = firstRow.getDataCell(0);
1846-
const adaptiveCell = firstRow.getCommandCell(adaptiveCellIdx);
1836+
test.meta({ unstable: true })(`Should not scroll back on top with virtual scrolling and adaptive master detail (nativeScroll: ${nativeScroll}) [T1278804]`, async (t) => {
1837+
// NOTE: idx + 1 logic inside POM
1838+
const adaptiveCellIdx = 101;
1839+
const scrollValuesThreshold = 100;
18471840

1848-
await t
1849-
.click(firstDataCell.element)
1850-
.click(adaptiveCell.element);
1841+
const dataGrid = new DataGrid('#container');
1842+
const firstRow = dataGrid.getDataRow(0);
1843+
const firstDataCell = firstRow.getDataCell(0);
1844+
const adaptiveCell = firstRow.getCommandCell(adaptiveCellIdx);
1845+
1846+
await t
1847+
.click(firstDataCell.element)
1848+
.click(adaptiveCell.element);
18511849

1852-
await dataGrid
1853-
.scrollBy(t, { y: 1000 });
1854-
await dataGrid
1855-
.scrollBy(t, { y: 1000 });
1850+
await dataGrid
1851+
.scrollBy(t, { y: 1000 });
1852+
await dataGrid
1853+
.scrollBy(t, { y: 1000 });
18561854

1857-
const scrollOffsets = await t
1858-
.eval(() => (window as TestCaseWindow).dataGridScrollableEventValues) as number[];
1855+
const scrollOffsets = await t
1856+
.eval(() => (window as TestCaseWindow).dataGridScrollableEventValues) as number[];
18591857

1860-
const hasSmallScrollValues = scrollOffsets.some((offset) => offset < scrollValuesThreshold);
1861-
await t.expect(hasSmallScrollValues).notOk();
1862-
},
1863-
).before(async () => {
1858+
const hasSmallScrollValues = scrollOffsets.some((offset) => offset < scrollValuesThreshold);
1859+
await t.expect(hasSmallScrollValues).notOk();
1860+
}).before(async () => {
18641861
await createWidget('dxDataGrid', {
18651862
dataSource: getData(3, 100).map((item, idx) => ({ ...item, id: idx })),
18661863
keyExpr: 'id',
-690 Bytes
Loading

e2e/testcafe-devextreme/tests/editors/chat/messageList.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ test('Messagelist appearance with scrollbar', async (t) => {
5151
const chat = new Chat('#container');
5252

5353
await t
54-
.hover(chat.messageList)
55-
.wait(400);
54+
.hover(chat.messageList);
5655

5756
await testScreenshot(t, takeScreenshot, 'Messagelist with a lot of messages.png', { element: '#container' });
5857

e2e/testcafe-devextreme/tests/editors/loadIndIcator/common.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,6 @@ fixture.disablePageReloads`LoadIndicator`
1616
['circle', 'sparkle'].forEach((animationType) => {
1717
test(`LoadIndicator: start stage of the ${animationType} animation`, async (t) => {
1818
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
19-
const loadIndicator = new LoadIndicator('#container');
20-
21-
await testScreenshot(t, takeScreenshot, `LoadIndicator with ${animationType} animation.png`, {
22-
element: '#container',
23-
themeChanged: async () => {
24-
await loadIndicator.repaint();
25-
},
26-
});
2719

2820
await testScreenshot(t, takeScreenshot, `LoadIndicator with ${animationType} animation.png`, {
2921
element: '#container',
16 Bytes
Loading

e2e/testcafe-devextreme/tests/editors/textBox/validationMessage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ test.meta({ browserSize: [300, 200] })('Validation Message position should be co
2121
.click(Selector(`.${TEXTEDITOR_INPUT_CLASS}`))
2222
.pressKey('backspace')
2323
.pressKey('enter')
24-
.pressKey('tab');
24+
.click('focusable-start');
2525

2626
await setAttribute('#container', 'hidden', 'true');
2727
await removeAttribute('#container', 'hidden');

e2e/testcafe-devextreme/tests/scheduler/common/header/header_material.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,25 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
33
import Scheduler from 'devextreme-testcafe-models/scheduler';
44
import { createWidget } from '../../../../helpers/createWidget';
55
import url from '../../../../helpers/getPageUrl';
6-
import { testScreenshot } from '../../../../helpers/themeUtils';
6+
import { isMaterial, isMaterialBased, testScreenshot } from '../../../../helpers/themeUtils';
77

88
fixture.disablePageReloads`Scheduler header: material theme`
99
.page(url(__dirname, '../../../container.html'));
1010

1111
// visual: material.blue.light
12-
test('dateNavigator buttons should have "text" styling mode with material theme', async (t) => {
12+
test('dateNavigator buttons should have "text" styling mode', async (t) => {
1313
const { toolbar } = new Scheduler('#container');
1414

15+
const expectedClass = isMaterialBased() ? 'dx-button-mode-text' : 'dx-button-mode-contained';
16+
1517
await t
16-
.expect(toolbar.navigator.prevButton.hasClass('dx-button-mode-text'))
18+
.expect(toolbar.navigator.prevButton.hasClass(expectedClass))
1719
.ok()
1820

19-
.expect(toolbar.navigator.caption.hasClass('dx-button-mode-text'))
21+
.expect(toolbar.navigator.caption.hasClass(expectedClass))
2022
.ok()
2123

22-
.expect(toolbar.navigator.nextButton.hasClass('dx-button-mode-text'))
24+
.expect(toolbar.navigator.nextButton.hasClass(expectedClass))
2325
.ok();
2426
}).before(async () => createWidget('dxScheduler', {
2527
currentView: 'day',
@@ -36,7 +38,7 @@ test('viewSwitcher dropdown button popup should have a specified class', async (
3638
await t
3739
.click(dropDownButton.element)
3840
.expect(Selector(viewSwitcherDropDownButtonContent).count)
39-
.eql(1);
41+
.eql(isMaterial() ? 1 : 0);
4042
}).before(async () => createWidget('dxScheduler', {
4143
currentView: 'day',
4244
views: ['day', 'week'],

0 commit comments

Comments
 (0)