diff --git a/examples/ag-ui/angular/e2e/fixtures/itinerary.json b/examples/ag-ui/angular/e2e/fixtures/itinerary.json index 186b41ebf..dfde2f5e1 100644 --- a/examples/ag-ui/angular/e2e/fixtures/itinerary.json +++ b/examples/ag-ui/angular/e2e/fixtures/itinerary.json @@ -17,6 +17,22 @@ { "match": { "userMessage": "Clear my day 2 plans" }, "response": { "toolCalls": [ { "name": "clear_day", "arguments": { "day": 2 } } ] } + }, + { + "match": { "userMessage": "Move the Eiffel Tower to day 2", "hasToolResult": true }, + "response": { "content": "Done — the Eiffel Tower is now on day 2." } + }, + { + "match": { "userMessage": "Move the Eiffel Tower to day 2" }, + "response": { "toolCalls": [ { "name": "move_stop", "arguments": { "place": "Eiffel Tower", "toDay": 2 } } ] } + }, + { + "match": { "userMessage": "Show me a recap card for day 1", "hasToolResult": true }, + "response": { "content": "Here's your day 1 recap." } + }, + { + "match": { "userMessage": "Show me a recap card for day 1" }, + "response": { "toolCalls": [ { "name": "day_card", "arguments": { "day": 1, "places": ["Louvre", "Eiffel Tower"] } } ] } } ] } diff --git a/examples/ag-ui/angular/e2e/itinerary-client-tools.spec.ts b/examples/ag-ui/angular/e2e/itinerary-client-tools.spec.ts index af548df56..2c843e3de 100644 --- a/examples/ag-ui/angular/e2e/itinerary-client-tools.spec.ts +++ b/examples/ag-ui/angular/e2e/itinerary-client-tools.spec.ts @@ -75,3 +75,56 @@ test('ask chain: clear_day confirm mutates the panel and resumes the run', async await expect(confirm.getByRole('button', { name: 'Clear' })).toHaveCount(0); await expect(confirm.getByRole('button', { name: 'Cancel' })).toHaveCount(0); }); + +test('move_stop action: panel mutates — Eiffel Tower moves from day 1 to day 2', async ({ + page, +}) => { + await openDemo(page); + + // Seed has Eiffel Tower under Day 1 — verify it's there before sending. + const panel = page.getByRole('region', { name: 'Trip itinerary' }); + await expect(panel).toBeVisible(); + + // Day sections are
each containing an

with + // "Day N" text and a