Skip to content

Commit 679aefd

Browse files
fix quill loading
1 parent 6a3cd89 commit 679aefd

File tree

17 files changed

+101
-71
lines changed

17 files changed

+101
-71
lines changed

e2e/testcafe-devextreme/helpers/testPageUtils.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,23 @@ export async function loadAspNetData(t: TestController): Promise<void> {
118118
}));
119119
}
120120

121+
export async function loadDevExtreme(t: TestController): Promise<void> {
122+
await t.eval(() => new Promise<void>((resolve, reject) => {
123+
// @ts-expect-error ts-error
124+
if (window.DevExpress?.data?.AspNet) {
125+
resolve();
126+
return;
127+
}
128+
129+
const script = document.createElement('script');
130+
script.src = '../../../packages/devextreme/artifacts/js/dx.all.js';
131+
// @ts-expect-error ts-error
132+
script.onload = resolve;
133+
script.onerror = reject;
134+
document.head.appendChild(script);
135+
}));
136+
}
137+
121138
// interface LoadOptions {
122139
// basePath?: string;
123140
// checkExists?: string;

e2e/testcafe-devextreme/helpers/themeUtils.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ export async function testScreenshot(
4141
themeChanged,
4242
} = options ?? {};
4343

44+
const baseName = screenshotName.endsWith('.png') ? screenshotName.slice(0, -4) : screenshotName;
45+
const getScreenshotName = (themePostfix?: string) => `${baseName}${themePostfix ?? getThemePostfix(theme)}.png`;
46+
4447
if (isString(theme)) {
4548
await changeTheme(theme);
4649
await themeChanged?.();
4750
}
4851

4952
await t
50-
.expect(await takeScreenshot(screenshotName.replace('.png', `${getThemePostfix(theme)}.png`), element))
53+
.expect(await takeScreenshot(getScreenshotName(), element))
5154
.ok();
5255

5356
if (shouldTestInCompact) {
@@ -57,7 +60,7 @@ export async function testScreenshot(
5760
await compactCallBack?.();
5861

5962
await t
60-
.expect(await takeScreenshot(screenshotName.replace('.png', `${getThemePostfix(`${themeName}-compact`)}.png`), element))
63+
.expect(await takeScreenshot(getScreenshotName(getThemePostfix(`${themeName}-compact`)), element))
6164
.ok();
6265
}
6366

e2e/testcafe-devextreme/runner.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
clearTestPage,
1010
loadAspNetData,
1111
loadAxeCore,
12+
loadDevExtreme,
1213
loadGantt,
1314
loadQuill,
1415
} from './helpers/testPageUtils';
@@ -255,6 +256,11 @@ createTestCafe(TESTCAFE_CONFIG)
255256
disableNativeAutomation: true,
256257
// @ts-expect-error ts-error
257258
hooks: {
259+
// testRun: {
260+
// before: async () => {
261+
262+
// },
263+
// },
258264
test: {
259265
before: async (t: TestController) => {
260266
if (!componentFolder.includes('accessibility')) {
@@ -263,14 +269,16 @@ createTestCafe(TESTCAFE_CONFIG)
263269

264270
if (meta?.loadQuill) {
265271
await loadQuill(t);
266-
}
267-
268-
if (meta?.loadGantt) {
269-
await loadGantt(t);
270-
}
272+
await loadDevExtreme(t);
273+
} else {
274+
await loadDevExtreme(t);
275+
if (meta?.loadGantt) {
276+
await loadGantt(t);
277+
}
271278

272-
if (meta?.loadAspNetData) {
273-
await loadAspNetData(t);
279+
if (meta?.loadAspNetData) {
280+
await loadAspNetData(t);
281+
}
274282
}
275283

276284
await ClientFunction(() => {

e2e/testcafe-devextreme/tests/common/pivotGrid/runningTotal/runningTotal.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
22
import PivotGrid from 'devextreme-testcafe-models/pivotGrid';
33
import url from '../../../../helpers/getPageUrl';
4-
import { isMaterialBased } from '../../../../helpers/themeUtils';
4+
import { isMaterialBased, testScreenshot } from '../../../../helpers/themeUtils';
55
import { createWidget } from '../../../../helpers/createWidget';
66

77
const testFixture = () => (isMaterialBased() ? fixture.skip : fixture);
@@ -75,7 +75,7 @@ test('Should correctly sum cells values with runningTotal', async (t) => {
7575
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
7676
const pivotGrid = new PivotGrid(PIVOT_GRID_SELECTOR);
7777

78-
await takeScreenshot('running-total_seamless-data.png', pivotGrid.element);
78+
await testScreenshot(t, takeScreenshot, 'running-total_seamless-data.png', { element: pivotGrid.element });
7979

8080
await t
8181
.expect(compareResults.isValid())
@@ -112,12 +112,12 @@ test('Should correctly sum cells values with runningTotal with partial data (T11
112112
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
113113
const pivotGrid = new PivotGrid(PIVOT_GRID_SELECTOR);
114114

115-
await takeScreenshot('running-total_partial-data_render-0.png', pivotGrid.element);
115+
await testScreenshot(t, takeScreenshot, 'running-total_partial-data_render-0.png', { element: pivotGrid.element });
116116

117117
const rowToCollapse = pivotGrid.getRowsArea().getCell(3);
118118
await t.click(rowToCollapse);
119119

120-
await takeScreenshot('running-total_partial-data_render-1.png', pivotGrid.element);
120+
await testScreenshot(t, takeScreenshot, 'running-total_partial-data_render-1.png', { element: pivotGrid.element });
121121

122122
await t
123123
.expect(compareResults.isValid())

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,14 +195,14 @@ generateOptionMatrix({
195195

196196
const firstCellToClick = pivotGrid.getRowsArea().getCell(1);
197197
await t.click(firstCellToClick);
198-
await takeScreenshot(`scrollbar-margin_step-0_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, pivotGrid.element);
198+
await testScreenshot(t, takeScreenshot, `scrollbar-margin_step-0_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, { element: pivotGrid.element });
199199

200200
const secondCellToClick = pivotGrid.getRowsArea().getCell(6);
201201
await t.click(secondCellToClick);
202-
await takeScreenshot(`scrollbar-margin_step-1_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, pivotGrid.element);
202+
await testScreenshot(t, takeScreenshot, `scrollbar-margin_step-1_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, { element: pivotGrid.element });
203203

204204
await t.click(secondCellToClick);
205-
await takeScreenshot(`scrollbar-margin_step-2_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, pivotGrid.element);
205+
await testScreenshot(t, takeScreenshot, `scrollbar-margin_step-2_useNative-${nativeScrolling}_rtl-${rtlEnabled}`, { element: pivotGrid.element });
206206

207207
await t
208208
.expect(compareResults.isValid())

e2e/testcafe-devextreme/tests/common/pivotGrid/virtualScrolling_T1210807.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
22
import PivotGrid from 'devextreme-testcafe-models/pivotGrid';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
5-
import { isMaterialBased } from '../../../helpers/themeUtils';
5+
import { isMaterialBased, testScreenshot } from '../../../helpers/themeUtils';
66

77
const testFixture = (): FixtureFn => {
88
if (isMaterialBased()) {
@@ -41,7 +41,8 @@ test.meta({ unstable: true })('Row fields overlap data fields if dataFieldArea i
4141
await pivotGrid.scrollBy({ top: 30000 });
4242
await pivotGrid.scrollBy({ top: 30000 });
4343

44-
await takeScreenshot('rows_do_not_overlap_data_fields_if_virtual_scrolling_enabled_T1210807.png', pivotGrid.element);
44+
await testScreenshot(t, takeScreenshot, 'rows_do_not_overlap_data_fields_if_virtual_scrolling_enabled_T1210807.png', { element: pivotGrid.element });
45+
4546
await t
4647
.expect(compareResults.isValid())
4748
.ok(compareResults.errorMessages());

e2e/testcafe-devextreme/tests/common/treeList/API.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import TreeList from 'devextreme-testcafe-models/treeList';
22
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
5+
import { testScreenshot } from '../../../helpers/themeUtils';
56

67
fixture.disablePageReloads`Public methods`
78
.page(url(__dirname, '../../container.html'));
@@ -39,7 +40,7 @@ const getItems = (): Record<string, unknown>[] => {
3940
.expect(treeList.getDataCell(131, 0).element.textContent)
4041
.contains('item_');
4142

42-
await takeScreenshot(`T1275775-navigateToRow-with-async-cell-templates_(renderAsync=${renderAsync}_useNativeScrolling=${useNativeScrolling})`, treeList.element);
43+
await testScreenshot(t, takeScreenshot, `T1275775-navigateToRow-with-async-cell-templates_(renderAsync=${renderAsync}_useNativeScrolling=${useNativeScrolling})`, { element: treeList.element });
4344

4445
await t
4546
.expect(compareResults.isValid())

e2e/testcafe-devextreme/tests/common/treeList/aiColumn/visual.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
22
import TreeList from 'devextreme-testcafe-models/treeList';
33
import url from '../../../../helpers/getPageUrl';
44
import { createWidget } from '../../../../helpers/createWidget';
5+
import { testScreenshot } from '../../../../helpers/themeUtils';
56

67
fixture.disablePageReloads`Ai Column.Visual`
78
.page(url(__dirname, '../../../container.html'));
@@ -15,7 +16,7 @@ test('Default render', async (t) => {
1516

1617
await t.expect(treeList.isReady()).ok();
1718

18-
await takeScreenshot('treelist__ai-column__default.png', treeList.element);
19+
await testScreenshot(t, takeScreenshot, 'treelist__ai-column__default.png', { element: treeList.element });
1920

2021
// assert
2122
await t

e2e/testcafe-devextreme/tests/common/treeList/columns.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import TreeList from 'devextreme-testcafe-models/treeList';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
55
import { changeTheme } from '../../../helpers/changeTheme';
6+
import { testScreenshot } from '../../../helpers/themeUtils';
67

78
fixture.disablePageReloads`Columns`
89
.page(url(__dirname, '../../container.html'));
@@ -12,9 +13,9 @@ test('CheckBox position with double rows columns', async (t) => {
1213
const treeList = new TreeList('#container');
1314
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
1415

16+
await testScreenshot(t, takeScreenshot, 'T1054312-material.blue.light', { element: treeList.getHeaders().element });
17+
1518
await t
16-
.expect(await takeScreenshot('T1054312-material.blue.light', treeList.getHeaders().element))
17-
.ok()
1819
.expect(compareResults.isValid())
1920
.ok(compareResults.errorMessages());
2021
}).before(async () => {
@@ -44,9 +45,9 @@ test('Correct display border to last column', async (t) => {
4445
const treeList = new TreeList('#container');
4546
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
4647

48+
await testScreenshot(t, takeScreenshot, 'T1053931-material.blue.light', { element: treeList.getHeaders().element });
49+
4750
await t
48-
.expect(await takeScreenshot('T1053931-material.blue.light', treeList.getHeaders().element))
49-
.ok()
5051
.expect(compareResults.isValid())
5152
.ok(compareResults.errorMessages());
5253
}).before(async () => {

e2e/testcafe-devextreme/tests/common/treeList/keyboardNavigation/markup.screenshots.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
22
import TreeList from 'devextreme-testcafe-models/treeList';
33
import url from '../../../../helpers/getPageUrl';
44
import { createWidget } from '../../../../helpers/createWidget';
5+
import { testScreenshot } from '../../../../helpers/themeUtils';
56

67
fixture
78
.disablePageReloads`Keyboard Navigation - screenshots`
@@ -17,11 +18,11 @@ test('Focused cells should look correctly', async (t) => {
1718

1819
await t.click(headerCellToFocus.element)
1920
.pressKey('tab');
20-
await takeScreenshot('tree-list_keyboard-navigation-header-cell-focused.png');
21+
await testScreenshot(t, takeScreenshot, 'tree-list_keyboard-navigation-header-cell-focused.png');
2122

2223
await t.click(dataCellToFocus.element)
2324
.pressKey('tab');
24-
await takeScreenshot('tree_list_keyboard-navigation-data-cell-focused.png');
25+
await testScreenshot(t, takeScreenshot, 'tree_list_keyboard-navigation-data-cell-focused.png');
2526

2627
await t.expect(compareResults.isValid())
2728
.ok(compareResults.errorMessages());
@@ -61,10 +62,10 @@ test('Focused custom buttons should look correctly', async (t) => {
6162

6263
await t.click(headerCellToFocus.element)
6364
.pressKey('tab');
64-
await takeScreenshot('tree-list_keyboard-navigation-custom-buttons-cell-focused.png');
65+
await testScreenshot(t, takeScreenshot, 'tree-list_keyboard-navigation-custom-buttons-cell-focused.png');
6566

6667
await t.pressKey('tab');
67-
await takeScreenshot('tree-list_keyboard-navigation-custom-button-focused.png');
68+
await testScreenshot(t, takeScreenshot, 'tree-list_keyboard-navigation-custom-button-focused.png');
6869

6970
await t.expect(compareResults.isValid())
7071
.ok(compareResults.errorMessages());

0 commit comments

Comments
 (0)