Skip to content

Run dojo scenarios against AG-UI and direct IChatClient - #69167

Draft
dariatiurina wants to merge 3 commits into
dotnet:mainfrom
dariatiurina:dariatiurina-dojo-backend-selection
Draft

Run dojo scenarios against AG-UI and direct IChatClient#69167
dariatiurina wants to merge 3 commits into
dotnet:mainfrom
dariatiurina:dariatiurina-dojo-backend-selection

Conversation

@dariatiurina

@dariatiurina dariatiurina commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Run dojo scenarios against AG-UI and direct IChatClient

Description

Give the dojo's direct IChatClient path the same scenario coverage as its AG-UI path, without duplicating pages or test bodies. A test author writes one scenario page and one E2E test, parameterized to run against both backends.

Changes

  • Add startup configuration DOJO_BACKEND=AGUI (default) or DOJO_BACKEND=Direct. AG-UI uses AGUIDojoApi over HTTP/SSE; Direct runs the model in the DojoClient process without that transport.
  • Move the shared models, tools, prompts, and scenario data types into the DojoAgent test-asset library, referenced by both hosts.
  • Adapt the existing stateful pages to consume AG-UI state events or native chat content, including planning updates, shared recipes, and predictive document edits.
  • Share model overrides, recordings, and checkpoint controls across the two backend configurations, and document how to add another dual-backend scenario.

Selection happens when each app starts, not between requests in a running app. Direct E2E hosts use an unreachable AG-UI URL so an accidental transport dependency cannot silently reach another server. Native tool results are compared using the recordings' JSON representation, retaining the same expected values.

Testing

Parameterize all 15 existing dojo browser tests with AGUI and Direct data rows, producing 30 cases from the same test bodies. Coverage includes incremental streaming, rich text, multi-turn history, client-tool circuit isolation, server-tool rendering, approval and rejection, generative UI, shared state, predictive edit acceptance/rejection, and responsive controls.

Breaking changes

None to shipping framework APIs. AG-UI remains the default. The separate AIApp and its tests are unchanged; this PR adds direct-backend coverage to the dojo rather than merging or removing AIApp.

Fixes #69166

@github-actions github-actions Bot added the area-blazor Includes: Blazor, Razor Components label Sep 9, 2026
@dariatiurina dariatiurina self-assigned this Sep 9, 2026
@dariatiurina dariatiurina changed the title Share dojo app and AIApp Run dojo scenarios against AG-UI and direct IChatClient Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-blazor Includes: Blazor, Razor Components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make dojo app and AiApp handle same E2E tests

1 participant