Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 12 additions & 23 deletions .github/workflows/testcafe_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ env:
jobs:
build:
name: build
strategy:
fail-fast: false

runs-on: devextreme-shr2
timeout-minutes: 15
Expand Down Expand Up @@ -84,9 +82,6 @@ jobs:
{ componentFolder: "common", name: "common" },
{ componentFolder: "common", name: "common - material", theme: 'material.blue.light' },
{ componentFolder: "common", name: "common - fluent", theme: 'fluent.blue.light' },
{ componentFolder: "chat", name: "chat" },
{ componentFolder: "chat", name: "chat - material", theme: 'material.blue.light' },
{ componentFolder: "chat", name: "chat - fluent", theme: 'fluent.blue.light' },
{ componentFolder: "treeList", name: "treeList", concurrency: 1 },
{ componentFolder: "dataGrid/common", name: "dataGrid / common (1/5)", indices: "1/5" },
{ componentFolder: "dataGrid/common", name: "dataGrid / common (2/5)", indices: "2/5" },
Expand All @@ -113,24 +108,21 @@ jobs:
{ componentFolder: "scheduler/viewOffset/markup", name: "scheduler / offset markups" },
{ componentFolder: "scheduler/timezones", name: "scheduler / timezones (Europe/Berlin)", timezone: "Europe/Berlin" },
{ componentFolder: "scheduler/timezones", name: "scheduler / timezones (America/Los_Angeles)", timezone: "America/Los_Angeles" },
{ componentFolder: "editors", name: "editors (1/3)", indices: "1/3" },
{ componentFolder: "editors", name: "editors (2/3)", indices: "2/3" },
{ componentFolder: "editors", name: "editors (3/3)", indices: "3/3" },
{ componentFolder: "editors", name: "editors - material (1/3)", indices: "1/3", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - material (2/3)", indices: "2/3", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - material (3/3)", indices: "3/3", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (1/3)", indices: "1/3", theme: 'fluent.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (2/3)", indices: "2/3", theme: 'fluent.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (3/3)", indices: "3/3", theme: 'fluent.blue.light' },
{ componentFolder: "htmlEditor", name: "htmlEditor", concurrency: 1 },
{ componentFolder: "htmlEditor", name: "htmlEditor - material", theme: 'material.blue.light', concurrency: 1 },
{ componentFolder: "htmlEditor", name: "htmlEditor - fluent", theme: 'fluent.blue.light', concurrency: 1 },
{ componentFolder: "editors", name: "editors (1/4)", indices: "1/4" },
{ componentFolder: "editors", name: "editors (2/4)", indices: "2/4" },
{ componentFolder: "editors", name: "editors (3/4)", indices: "3/4" },
{ componentFolder: "editors", name: "editors (4/4)", indices: "4/4" },
{ componentFolder: "editors", name: "editors - material (1/4)", indices: "1/4", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - material (2/4)", indices: "2/4", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - material (3/4)", indices: "3/4", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - material (4/4)", indices: "4/4", theme: 'material.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (1/4)", indices: "1/4", theme: 'fluent.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (2/4)", indices: "2/4", theme: 'fluent.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (3/4)", indices: "3/4", theme: 'fluent.blue.light' },
{ componentFolder: "editors", name: "editors - fluent (4/4)", indices: "4/4", theme: 'fluent.blue.light' },
{ componentFolder: "navigation", name: "navigation" },
{ componentFolder: "navigation", name: "navigation - material", theme: 'material.blue.light' },
{ componentFolder: "navigation", name: "navigation - fluent", theme: 'fluent.blue.light' },
{ componentFolder: "fileManager", name: "fileManager" },
{ componentFolder: "fileManager", name: "fileManager - material", theme: 'material.blue.light' },
{ componentFolder: "fileManager", name: "fileManager - fluent", theme: 'fluent.blue.light' },
{ componentFolder: "filterBuilder", name: "filterBuilder" },
{ componentFolder: "filterBuilder", name: "filterBuilder - material", theme: 'material.blue.light' },
{ componentFolder: "filterBuilder", name: "filterBuilder - fluent", theme: 'fluent.blue.light' },
Expand All @@ -139,9 +131,6 @@ jobs:
# { componentFolder: "pagination", name: "pagination - material", theme: 'material.blue.light' },
{ componentFolder: "pagination", name: "pagination - fluent", theme: 'fluent.blue.light' },
{ componentFolder: "gantt", name: "gantt" },
{ componentFolder: "fileUploader", name: "fileUploader" },
{ componentFolder: "fileUploader", name: "fileUploader - material", theme: 'material.blue.light' },
{ componentFolder: "fileUploader", name: "fileUploader - fluent", theme: 'fluent.blue.light' },
]
runs-on: devextreme-shr2
timeout-minutes: 45
Expand Down
2 changes: 1 addition & 1 deletion e2e/testcafe-devextreme/tests/accessibility/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Message, User, Properties } from 'devextreme/ui/chat.d';
import url from '../../helpers/getPageUrl';
import { testAccessibility, Configuration } from '../../helpers/accessibility/test';
import { Options } from '../../helpers/generateOptionMatrix';
import { avatarUrl } from '../chat/data';
import { avatarUrl } from '../editors/chat/data';

fixture.disablePageReloads`Accessibility`
.page(url(__dirname, '../container.html'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { ClientFunction } from 'testcafe';
import { createUser } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { getFullThemeName, testScreenshot } from '../../helpers/themeUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { getFullThemeName, testScreenshot } from '../../../helpers/themeUtils';

fixture.disablePageReloads`ChatAlertList`
.page(url(__dirname, '../container.html'));
fixture`ChatAlertList`
.page(url(__dirname, '../../container.html'));

test.clientScripts([
{ module: 'mockdate' },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { createUser, generateMessages, avatarUrl } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo } from '../../helpers/domUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo } from '../../../helpers/domUtils';

fixture.disablePageReloads`ChatAvatar`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Chat: avatar', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { createUser } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';

fixture.disablePageReloads`ChatConfirmationPopup`.page(
url(__dirname, '../container.html'),
url(__dirname, '../../container.html'),
);

test('Chat: confirmation popup', async (t) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,10 @@ export const getLongText = (useLineBreaks = false, length = 1): string => {
const longItemArray = Array(length).fill(longItem);
const longString = longItemArray.join('');

const result = `${UUID}:${useLineBreaks ? lineBreaks : ''}${longString}`;

return result;
return `${UUID}:${useLineBreaks ? lineBreaks : ''}${longString}`;
};

export const getShortText = (useLineBreaks = false): string => {
const value = `Short${useLineBreaks ? lineBreaks : ' '}text`;

return value;
};
export const getShortText = (useLineBreaks = false): string => `Short${useLineBreaks ? lineBreaks : ' '}text`;

export const generateMessages = (
length: number,
Expand All @@ -49,33 +43,26 @@ export const generateMessages = (
coefficient = 4,
n = 1,
isEdited = false,
): Message[] => {
const messages = Array.from({ length: length * n }, (_, i) => {
const text = useLongText
? getLongText(useLineBreaks)
: getShortText(useLineBreaks);

const getAuthor = () => {
if (n > 1) {
return i >= length ? userSecond : userFirst;
}

return i % coefficient === 0 ? userFirst : userSecond;
};

const item = {
timestamp,
author: getAuthor(),
text,
isEdited,
};

return item;
});

return messages;
};

): Message[] => Array.from({ length: length * n }, (_, i) => {
const text = useLongText
? getLongText(useLineBreaks)
: getShortText(useLineBreaks);

const getAuthor = () => {
if (n > 1) {
return i >= length ? userSecond : userFirst;
}

return i % coefficient === 0 ? userFirst : userSecond;
};

return {
timestamp,
author: getAuthor(),
text,
isEdited,
};
});
export const generateImageMessage = (
user: User,
src: string,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { getShortText, getLongText, createUser } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo } from '../../helpers/domUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo } from '../../../helpers/domUtils';

fixture.disablePageReloads`ChatMessageBox`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Chat: messagebox', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { createUser, generateImageMessage, generateMessages } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo } from '../../helpers/domUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo } from '../../../helpers/domUtils';

fixture.disablePageReloads`ChatMessageBubble`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Chat: messagebubble', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ import {
generateMessages,
getLongText,
} from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo, insertStylesheetRulesToPage, setStyleAttribute } from '../../helpers/domUtils';
import asyncForEach from '../../helpers/asyncForEach';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo, insertStylesheetRulesToPage, setStyleAttribute } from '../../../helpers/domUtils';
import asyncForEach from '../../../helpers/asyncForEach';

const AVATAR_SELECTOR = '.dx-avatar';

fixture.disablePageReloads`ChatMessageGroup`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Chat: messagegroup, avatar rendering', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import { ClientFunction } from 'testcafe';
import { Message, User } from 'devextreme/ui/chat';
import TabPanel from 'devextreme-testcafe-models/tabPanel';
import { createUser, generateMessages, getLongText } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../helpers/themeUtils';
import { insertStylesheetRulesToPage } from '../../helpers/domUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import { insertStylesheetRulesToPage } from '../../../helpers/domUtils';

const waitFont = ClientFunction(() => (window as any).DevExpress.ui.themes.waitWebFont('Item123somevalu*op ', 400));

fixture.disablePageReloads`ChatMessageList`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Messagelist empty view scenarios', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down Expand Up @@ -379,7 +379,7 @@ test('Message list with editing context menu', async (t) => {
});

fixture`ChatMessageList: dayHeaders`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test.clientScripts([
{ module: 'mockdate' },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import Chat from 'devextreme-testcafe-models/chat';
import { ClientFunction } from 'testcafe';
import { createUser, generateMessages } from './data';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { getFullThemeName, testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo, insertStylesheetRulesToPage } from '../../helpers/domUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { getFullThemeName, testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo, insertStylesheetRulesToPage } from '../../../helpers/domUtils';

const CHAT_TYPINGINDICATOR_CIRCLE_CLASS = 'dx-chat-typingindicator-circle';
const waitFont = ClientFunction(() => (window as any).DevExpress.ui.themes.waitWebFont('Item123somevalu*op ', 400));

fixture.disablePageReloads`ChatTypingIndicator`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Chat: typing indicator with emptyview', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import { Selector } from 'testcafe';
import { testScreenshot } from '../../helpers/themeUtils';
import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { testScreenshot } from '../../../helpers/themeUtils';
import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';

fixture.disablePageReloads`FileManager`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

test('Custom DropDown width for Material and Fluent themes', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import FileUploader from 'devextreme-testcafe-models/fileUploader';
import { testScreenshot } from '../../helpers/themeUtils';
import { createWidget } from '../../helpers/createWidget';
import url from '../../helpers/getPageUrl';
import { testScreenshot } from '../../../helpers/themeUtils';
import { createWidget } from '../../../helpers/createWidget';
import url from '../../../helpers/getPageUrl';

const TEST_FILE = './images/test-image-1.png';

fixture`FileUploader - file list visibility`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

[true, false].forEach((showFileList) => {
test(`FileUploader with showFileList: ${showFileList} - after file selected`, async (t) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import HtmlEditor from 'devextreme-testcafe-models/htmlEditor';
import { Selector } from 'testcafe';
import { createWidget } from '../../helpers/createWidget';
import url from '../../helpers/getPageUrl';
import { testScreenshot } from '../../helpers/themeUtils';
import { appendElementTo, setStyleAttribute } from '../../helpers/domUtils';
import { createWidget } from '../../../helpers/createWidget';
import url from '../../../helpers/getPageUrl';
import { testScreenshot } from '../../../helpers/themeUtils';
import { appendElementTo, setStyleAttribute } from '../../../helpers/domUtils';

const MENU_ITEM_CLASS = 'dx-menu-item';
const SUBMENU_CLASS = 'dx-submenu';

fixture.disablePageReloads`HtmlEditor`
.page(url(__dirname, '../container.html'));
.page(url(__dirname, '../../container.html'));

[false, true].forEach((toolbar) => {
const selector = toolbar ? '#otherContainer' : '#container';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
import HtmlEditor from 'devextreme-testcafe-models/htmlEditor';
import url from '../../../../helpers/getPageUrl';
import { createWidget } from '../../../../helpers/createWidget';
import { testScreenshot } from '../../../../helpers/themeUtils';
import url from '../../../../../helpers/getPageUrl';
import { createWidget } from '../../../../../helpers/createWidget';
import { testScreenshot } from '../../../../../helpers/themeUtils';

const TEST_IMAGE_PATH_1 = './images/test-image-1.png';
const TEST_IMAGE_PATH_2 = './images/test-image-2.png';

fixture`HtmlEditor - upload image from device`
.page(url(__dirname, '../../../container.html'));
.page(url(__dirname, '../../../../container.html'));

test('Image from device should be inserted', async (t) => {
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
Expand Down
Loading
Loading