DataGrid - AI Assistant: request lifecycle e2e tests#33806
Open
Alyar666 wants to merge 2 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds new end-to-end (TestCafe) coverage for the DataGrid AI Assistant “request in-flight” lifecycle, verifying that user interactions (input, clear-chat, suggestions) are disabled while an LLM request/command is running and restored afterward, including rapid sequential prompts.
Changes:
- Added a new DataGrid AI Assistant request lifecycle functional test suite (sequential prompts + in-flight disabled state checks).
- Extended
devextreme-testcafe-modelsPOMs for DataGrid AI Assistant chat and base Chat widget to support new assertions. - Introduced shared AI Assistant test helpers for the suite.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/testcafe-models/dataGrid/index.ts | Adds DataGrid POM helpers used by AI Assistant-related tests (data source sort access + focusing the AI Assistant button). |
| packages/testcafe-models/dataGrid/aiAssistantChat.ts | Extends the AI Assistant chat POM with input/messages/suggestions helpers and in-flight disabled-state checks. |
| packages/testcafe-models/chat.ts | Adds a reusable accessor for chat message bubbles and reuses it in getMessage. |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/testHelpers.ts | Adds common constants and client-side helpers for AI Assistant DataGrid e2e tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/requestLifecycle.functional.ts | New functional e2e tests validating AI Assistant request lifecycle UI locking/unlocking behavior. |
Comment on lines
+141
to
+145
| isClearChatDisabled(): Promise<boolean> { | ||
| return this.getClearChatButton() | ||
| .parent('.dx-button') | ||
| .hasClass('dx-state-disabled'); | ||
| } |
32f0b88 to
738c67f
Compare
the in-flight lock — input, clear-chat and suggestions disabled while an LLM request or command runs, re-enabled afterwards, plus rapid sequential prompts (plan §3.8–§3.11) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
738c67f to
6959ed4
Compare
Comment on lines
+56
to
+59
| // eslint-disable-next-line class-methods-use-this | ||
| getAbortConfirmYesButton(): Selector { | ||
| return Selector(`.${CLASS.abortConfirmDialog} .dx-button`).withExactText('Yes'); | ||
| } |
Comment on lines
61
to
63
| getClearChatButton(): Selector { | ||
| return this.element.find(`.${CLASS.clearChatButton}`); | ||
| } |
Comment on lines
+141
to
+145
| isClearChatDisabled(): Promise<boolean> { | ||
| return this.getClearChatButton() | ||
| .parent('.dx-button') | ||
| .hasClass('dx-state-disabled'); | ||
| } |
- Add shared mocked sendRequest queue with unexpected-call guard - Verify commands apply to grid state and no second request leaks - Split 3.10.3 into fulfillment/failure/abort re-enable cases - Check grid state unchanged after clear-chat (3.10.4) - Remove unused POM methods and test helpers Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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 — the in-flight lock — input, clear-chat and suggestions disabled while an LLM request or command runs, re-enabled afterwards, plus rapid sequential prompts (plan §3.8–§3.11).
Part of splitting the AI Assistant e2e suite into per-area pull requests.