QUnit tests: ensure compatibility with Fluent and drop Generic theme testing (Navigation)#31633
Conversation
There was a problem hiding this comment.
Pull Request Overview
This pull request updates test files to switch from the generic_light theme to the fluent_blue_light theme. The changes primarily involve:
- Replacing theme imports from
generic_light.csstofluent_blue_light.css - Updating expected test values (dimensions, colors, spacing) to match the Fluent theme's styling
- Removing some theme-specific tests that were tied to the Generic theme
- Adjusting assertions and test expectations to account for different sizing in the new theme
Reviewed Changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| treeview.size.tests.js | Updated expected height and scroll height values for TreeView component sizing tests |
| focusing.js | Removed unused generic_light.css import |
| treeView.virtualMode.tests.js | Changed theme import from generic_light to fluent_blue_light |
| treeView.tests.js | Added fluent_blue_light theme import |
| toolbar.tests.js | Changed theme, removed Generic-specific test, updated dimension expectations and font weight values |
| toolbar.multiline.tests.js | Changed theme, updated toolbar item height constant and expected dimensions |
| tabs.width.tests.js | Changed theme, updated expected width values and fixed comparison operator text |
| tabs.tests.js | Changed theme, updated default iconPosition/stylingMode expectations, removed theme-specific tests |
| tabPanel.tests.js | Changed theme, updated alignment checks and dimension expectations for icon positioning |
| stepper.connector.tests.js | Changed theme, updated dimension expectations from 1px to 2px |
| speedDialAction.tests.js | Changed theme, updated position and dimension expectations |
| scrollable.scrollbar.tests.js | Changed theme, changed strict equality to rough equality for scroll position |
| scrollable.styles.tests.js | Changed theme, updated padding expectations from 8px to 6px |
| scrollView.tests.js | Changed theme, updated expected text values to empty strings, removed unused import |
| popup.tests.js | Changed theme, updated quote usage in test names, changed strict to rough equality |
| popover.tests.js | Changed theme, changed strict to rough equality, adjusted border calculation |
| menu.tests.js | Changed theme, updated positioning calculations and color expectations |
| loadIndicator.markup.tests.js | Removed generic_light import and unused imports, removed theme-specific test |
| listParts/editingUITests.js | Removed Generic theme test, updated positioning values |
| listParts/commonTests.js | Added spacing constants, updated calculations, improved grammar in test names |
| list.tests.js | Changed theme import |
| ganttParts/fullScreenMode.tests.js | Changed strict equality to rough equality for width comparison |
| gantt.tests.js | Changed theme import |
| fileManagerParts/toolbar.tests.js | Removed empty lines, skipped theme-dependent test |
| fileManagerParts/scroll.tests.js | Updated height expectation |
| fileManager.tests.js | Changed theme import |
| dropDownButton.tests.js | Changed theme, updated dimension and positioning expectations |
| contextMenu.tests.js | Changed theme, updated positioning constants and calculations |
| buttonGroup.tests.js | Changed theme, removed redundant assertions |
| buttonGroup.selection.tests.js | Changed theme import |
| buttonGroup.markup.tests.js | Changed theme import |
| button.tests.js | Changed theme, updated color expectations |
| accordion.tests.js | Changed theme, updated height expectations |
| form.tests.js | Changed theme, added labelLocation configuration, updated dimension expectations |
| form.label.tests.js | Changed theme, added labelLocation to multiple tests |
Comments suppressed due to low confidence (2)
packages/devextreme/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js:1
- The drag operation at line 2899 is followed by dragEnd at line 2900, but the original test at line 2896-2902 appears to continue assertions after the drag without dragEnd. Adding dragEnd() here may break the test logic as it completes the gesture prematurely before the assertion at line 2901.
import $ from 'jquery';
packages/devextreme/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js:1
- Similar to the previous issue, dragEnd() is added after drag() at line 2924, but the assertions at lines 2925-2926 expect the drag to still be in progress. This dragEnd() call may cause the test to fail or behave incorrectly.
import $ from 'jquery';
d5a9bfa to
db49b8f
Compare
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 38 out of 38 changed files in this pull request and generated 11 comments.
Comments suppressed due to low confidence (4)
packages/devextreme/testing/tests/DevExpress.ui.widgets/toolbar.tests.js:324
- The removed test "Buttons has default style in generic theme" is theme-specific and correctly removed when switching to fluent theme. However, it would be better to update the test to verify the expected behavior in the fluent theme rather than removing it entirely, to maintain test coverage.
packages/devextreme/testing/tests/DevExpress.ui.widgets/listParts/editingUITests.js:846 - The test "button should have no text for the Generic theme" has been removed. This removes coverage for delete button text behavior. Consider updating this test for the fluent theme rather than removing it, to maintain test coverage for button text visibility.
QUnit.test('button should have no inkRipple after fast swipe for Material theme', function(assert) {
const origIsMaterial = themes.isMaterial;
const origCurrent = themes.current;
const clock = sinon.useFakeTimers();
themes.isMaterial = () => { return true; };
themes.current = () => { return 'material'; };
const $list = $('#templated-list').dxList({
items: ['0'],
allowItemDeleting: true,
itemDeleteMode: 'slideItem'
});
const $item = $list.find(`.${LIST_ITEM_CLASS}`).eq(0);
const pointer = pointerMock($item);
let args;
packages/devextreme/testing/tests/DevExpress.ui.widgets/loadIndicator.markup.tests.js:108
- The test "content should have correct count of segments if animation type is circle by default" has been removed. This removes coverage for the default segment count behavior. Consider updating this test to match the fluent theme's expected segment count rather than removing it entirely.
QUnit.test('content should not have any animation class if animation type is undefined', function(assert) {
const $element = $('#loadIndicator').dxLoadIndicator({ animationType: undefined });
const $indicatorContent = $element.find(`.${LOADINDICATOR_CONTENT_CLASS}`);
const classCount = $indicatorContent[0].classList.length || 0;
assert.strictEqual(classCount, 1, 'animation classes has not been added');
});
packages/devextreme/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js:2856
- The test "more button should have undefined type for the Generic theme" has been removed. This removes coverage for the more button's type property. Consider updating this test for the fluent theme to verify the expected button type rather than removing it.
QUnit.test('should not expect appending items if items were appended just now', function(assert) {
const element = this.element.dxList({
pageLoadMode: 'scrollBottom',
scrollingEnabled: true,
dataSource: {
store: new ArrayStore([1, 2, 3, 4]),
pageSize: 2
}
});
element.dxScrollView('instance').scrollBottom();
assert.equal(element.dxList('instance')._startIndexForAppendedItems, null, 'flag set correctly');
});
312abbe to
56c2944
Compare
No description provided.