Skip to content

Commit d1632ae

Browse files
committed
Scheduler: use testScreenshot utility in e2e tests: layout
1 parent d05b4d1 commit d1632ae

File tree

726 files changed

+559
-560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

726 files changed

+559
-560
lines changed

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

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,14 @@ test('The toolbar should not display if the config is empty', async (t) => {
7272
await t
7373
.expect(compareResults.isValid())
7474
.ok(compareResults.errorMessages());
75-
}).before(async () => createWidget('dxScheduler', {
76-
currentDate: new Date(2020, 2, 2),
77-
currentView: 'day',
78-
views: ['day', 'week'],
79-
height: 580,
80-
toolbar: { items: [] },
81-
}));
75+
}).before(async () => {
76+
await changeTheme('material.blue.light');
77+
78+
return createWidget('dxScheduler', {
79+
currentDate: new Date(2020, 2, 2),
80+
currentView: 'day',
81+
views: ['day', 'week'],
82+
height: 580,
83+
toolbar: { items: [] },
84+
});
85+
});

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

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

78
fixture.disablePageReloads`Scheduler header sizes`
89
.page(url(__dirname, '../../../container.html'));
@@ -14,7 +15,7 @@ const buttons = Array.from({ length: 4 }).map((_, index) => ({
1415
options: { text: `Button ${index}` },
1516
}));
1617

17-
test('items inside toolbar menu should stretch', async (t) => {
18+
test.skip('items inside toolbar menu should stretch', async (t) => {
1819
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
1920
const scheduler = new Scheduler('#container');
2021

@@ -28,17 +29,23 @@ test('items inside toolbar menu should stretch', async (t) => {
2829
await t
2930
.expect(compareResults.isValid())
3031
.ok(compareResults.errorMessages());
31-
}).before(async () => createWidget('dxScheduler', {
32-
width: 320,
33-
currentDate: new Date('2025-05-02T07:59:01.167Z'),
34-
toolbar: {
35-
items: ['today', 'dateNavigator', ...buttons, {
36-
location: 'after',
37-
locateInMenu: 'auto',
38-
name: 'viewSwitcher',
39-
}],
40-
},
41-
}));
32+
}).before(async () => {
33+
await changeTheme('fluent.blue.light');
34+
35+
return createWidget('dxScheduler', {
36+
width: 320,
37+
currentDate: new Date('2025-05-02T07:59:01.167Z'),
38+
toolbar: {
39+
items: ['today', 'dateNavigator', ...buttons, {
40+
location: 'after',
41+
locateInMenu: 'auto',
42+
name: 'viewSwitcher',
43+
}],
44+
},
45+
});
46+
}).after(async () => {
47+
await changeTheme('generic.light');
48+
});
4249

4350
test('Scheduler header should have correct sizes', async (t) => {
4451
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);

e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/adaptive.ts

Lines changed: 81 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Scheduler from 'devextreme-testcafe-models/scheduler';
33
import { createWidget } from '../../../../../helpers/createWidget';
44
import url from '../../../../../helpers/getPageUrl';
55
import { ADAPTIVE_SIZE } from '../../const';
6-
import { changeTheme } from '../../../../../helpers/changeTheme';
6+
import { testScreenshot } from '../../../../../helpers/themeUtils';
77
import {
88
createDataSetForScreenShotTests,
99
resourceDataSource,
@@ -26,97 +26,90 @@ const createScheduler = async (
2626
});
2727
};
2828

29-
['generic.light', 'material.blue.light', 'fluent.blue.light'].forEach((theme) => {
30-
const themePrefix = theme.split('.')[0];
31-
32-
[false, true].forEach((rtlEnabled) => {
33-
[false, true].forEach((crossScrollingEnabled) => {
34-
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test in ${themePrefix} theme, crossScrollingEnabled=${crossScrollingEnabled}${rtlEnabled ? 'in RTL' : ''}`, async (t) => {
35-
const scheduler = new Scheduler('#container');
36-
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
37-
38-
// eslint-disable-next-line no-restricted-syntax
39-
for (const view of views) {
40-
await scheduler.option('currentView', view);
41-
42-
await t.expect(
43-
await takeScreenshot(`${themePrefix}-view=${view}-crossScrolling=${crossScrollingEnabled}${rtlEnabled ? '-rtl' : ''}.png`, scheduler.workSpace),
44-
).ok();
45-
}
46-
47-
await t.expect(compareResults.isValid())
48-
.ok(compareResults.errorMessages());
49-
}).before(async () => {
50-
await changeTheme(theme);
51-
52-
await createScheduler({
53-
views,
54-
currentView: 'day',
55-
crossScrollingEnabled,
56-
rtlEnabled,
57-
});
58-
}).after(async () => {
59-
await changeTheme('generic.light');
29+
[false, true].forEach((rtlEnabled) => {
30+
[false, true].forEach((crossScrollingEnabled) => {
31+
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test, crossScrollingEnabled=${crossScrollingEnabled}${rtlEnabled ? 'in RTL' : ''}`, async (t) => {
32+
const scheduler = new Scheduler('#container');
33+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
34+
35+
// eslint-disable-next-line no-restricted-syntax
36+
for (const view of views) {
37+
await scheduler.option('currentView', view);
38+
39+
await testScreenshot(
40+
t,
41+
takeScreenshot,
42+
`view=${view}-crossScrolling=${crossScrollingEnabled}${rtlEnabled ? '-rtl' : ''}.png`,
43+
{ element: scheduler.workSpace },
44+
);
45+
}
46+
47+
await t.expect(compareResults.isValid())
48+
.ok(compareResults.errorMessages());
49+
}).before(async () => {
50+
await createScheduler({
51+
views,
52+
currentView: 'day',
53+
crossScrollingEnabled,
54+
rtlEnabled,
6055
});
56+
});
6157

62-
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test in ${themePrefix} theme, crossScrollingEnabled=${crossScrollingEnabled} when horizontal grouping${rtlEnabled ? ' and RTL are' : ' is'} used`, async (t) => {
63-
const scheduler = new Scheduler('#container');
64-
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
65-
66-
// eslint-disable-next-line no-restricted-syntax
67-
for (const view of views) {
68-
await scheduler.option('currentView', view);
69-
70-
await t.expect(
71-
await takeScreenshot(`${themePrefix}-view=${view}-crossScrolling=${crossScrollingEnabled}-horizontal${rtlEnabled ? '-rtl' : ''}.png`, scheduler.workSpace),
72-
).ok();
73-
}
74-
75-
await t.expect(compareResults.isValid())
76-
.ok(compareResults.errorMessages());
77-
}).before(async () => {
78-
await changeTheme(theme);
79-
80-
await createScheduler({
81-
views: horizontalViews,
82-
currentView: 'day',
83-
crossScrollingEnabled,
84-
rtlEnabled,
85-
groups: ['priorityId'],
86-
resources: resourceDataSource,
87-
});
88-
}).after(async () => {
89-
await changeTheme('generic.light');
58+
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test crossScrollingEnabled=${crossScrollingEnabled} when horizontal grouping${rtlEnabled ? ' and RTL are' : ' is'} used`, async (t) => {
59+
const scheduler = new Scheduler('#container');
60+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
61+
62+
// eslint-disable-next-line no-restricted-syntax
63+
for (const view of views) {
64+
await scheduler.option('currentView', view);
65+
66+
await testScreenshot(
67+
t,
68+
takeScreenshot,
69+
`view=${view}-crossScrolling=${crossScrollingEnabled}-horizontal${rtlEnabled ? '-rtl' : ''}.png`,
70+
{ element: scheduler.workSpace },
71+
);
72+
}
73+
74+
await t.expect(compareResults.isValid())
75+
.ok(compareResults.errorMessages());
76+
}).before(async () => {
77+
await createScheduler({
78+
views: horizontalViews,
79+
currentView: 'day',
80+
crossScrollingEnabled,
81+
rtlEnabled,
82+
groups: ['priorityId'],
83+
resources: resourceDataSource,
9084
});
85+
});
9186

92-
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test in ${themePrefix} theme, crossScrollingEnabled=${crossScrollingEnabled} when vertical grouping${rtlEnabled ? ' and RTL are' : ' is'} used`, async (t) => {
93-
const scheduler = new Scheduler('#container');
94-
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
95-
96-
// eslint-disable-next-line no-restricted-syntax
97-
for (const view of views) {
98-
await scheduler.option('currentView', view);
99-
100-
await t.expect(
101-
await takeScreenshot(`${themePrefix}-view=${view}-crossScrolling=${crossScrollingEnabled}-vertical${rtlEnabled ? '-rtl' : ''}.png`, scheduler.workSpace),
102-
).ok();
103-
}
104-
105-
await t.expect(compareResults.isValid())
106-
.ok(compareResults.errorMessages());
107-
}).before(async () => {
108-
await changeTheme(theme);
109-
110-
await createScheduler({
111-
views: verticalViews,
112-
currentView: 'day',
113-
crossScrollingEnabled,
114-
rtlEnabled,
115-
groups: ['priorityId'],
116-
resources: resourceDataSource,
117-
});
118-
}).after(async () => {
119-
await changeTheme('generic.light');
87+
test.meta({ browserSize: ADAPTIVE_SIZE })(`Adaptive views layout test, crossScrollingEnabled=${crossScrollingEnabled} when vertical grouping${rtlEnabled ? ' and RTL are' : ' is'} used`, async (t) => {
88+
const scheduler = new Scheduler('#container');
89+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
90+
91+
// eslint-disable-next-line no-restricted-syntax
92+
for (const view of views) {
93+
await scheduler.option('currentView', view);
94+
95+
await testScreenshot(
96+
t,
97+
takeScreenshot,
98+
`view=${view}-crossScrolling=${crossScrollingEnabled}-vertical${rtlEnabled ? '-rtl' : ''}.png`,
99+
{ element: scheduler.workSpace },
100+
);
101+
}
102+
103+
await t.expect(compareResults.isValid())
104+
.ok(compareResults.errorMessages());
105+
}).before(async () => {
106+
await createScheduler({
107+
views: verticalViews,
108+
currentView: 'day',
109+
crossScrollingEnabled,
110+
rtlEnabled,
111+
groups: ['priorityId'],
112+
resources: resourceDataSource,
120113
});
121114
});
122115
});

0 commit comments

Comments
 (0)