DataGrid - AI Assistant: interruption & cancellation e2e tests#33810
Open
Alyar666 wants to merge 3 commits into
Open
DataGrid - AI Assistant: interruption & cancellation e2e tests#33810Alyar666 wants to merge 3 commits into
Alyar666 wants to merge 3 commits into
Conversation
interruption and cancellation — closing the popup mid-request (abort, ignored late resolution) and disposing the grid mid-request/mid-execution (plan §5.2, §5.5) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds new TestCafe e2e coverage for the DataGrid AI Assistant “interruption & cancellation” scenarios (closing the AI chat mid-request and disposing the grid mid-request/mid-execution), plus the necessary TestCafe Page Object Model (POM) extensions to observe chat/grid state during these flows.
Changes:
- Added a new functional e2e suite (
interruption.functional.ts) covering popup-close abort behavior and grid dispose safety during in-flight AI work. - Extended
devextreme-testcafe-modelsPOMs (DataGrid + AI Assistant Chat + Chat) with accessors needed by the new tests. - Introduced shared AI Assistant test helpers (
testHelpers.ts) for page URL + localization formatting.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/testcafe-models/dataGrid/index.ts | Adds DataGrid-side POM helpers for reading dataSource sort params and focusing the AI Assistant button. |
| packages/testcafe-models/dataGrid/aiAssistantChat.ts | Adds AI Assistant chat POM accessors for input, abort confirmation dialog, message bubbles, suggestions, and disabled-state checks. |
| packages/testcafe-models/chat.ts | Adds getMessageBubbles() helper and reuses it from getMessage(). |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/testHelpers.ts | Adds shared constants and ClientFunction helpers (page URL, localization message formatting). |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/interruption.functional.ts | New e2e tests for abort-on-close and dispose-during-flight scenarios. |
Align interruption.functional.ts with the commands suite (33804): extract shared setup/integration helpers above the fixtures, unify api* await style, assert the integration abort is invoked on popup-close, drop redundant re-open. Trim testHelpers and POM accessors down to what this PR actually uses.
9c9a3bd to
abc3cb1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does the PR change?
Adds e2e TestCafe tests for the DataGrid AI Assistant — interruption and cancellation — closing the popup mid-request (abort, ignored late resolution) and disposing the grid mid-request/mid-execution (plan §5.2, §5.5).
Part of splitting the AI Assistant e2e suite into per-area pull requests.
How did you achieve this?
aiAssistant.aiIntegration.sendRequestis mocked to return deterministic responses; assertions check chat status and grid state via POM accessors. The PR also includes the sharedtestHelpers.tsand AI Assistanttestcafe-modelsPOM accessors the suite depends on.How can we verify these changes?