diff --git a/web/src/app/home/bots/components/bot-form/EventBindingsEditor.tsx b/web/src/app/home/bots/components/bot-form/EventBindingsEditor.tsx index 0b5b1a49f..2b01df6c0 100644 --- a/web/src/app/home/bots/components/bot-form/EventBindingsEditor.tsx +++ b/web/src/app/home/bots/components/bot-form/EventBindingsEditor.tsx @@ -1265,27 +1265,24 @@ function BindingCardContent({ onUpdate(globalIndex, patch); }} > - - {binding.event_pattern ? ( - - {eventLabel(binding.event_pattern, t)} - - ) : ( - - )} + + - + {groupEventPatterns(eventOptions).map((group) => ( {eventGroupLabel(group.namespace, t)} {group.patterns.map((event) => ( - - - {eventLabel(event, t)} - - {eventDescription(event, t)} - - + + ))} diff --git a/web/tests/e2e/crud-smoke.spec.ts b/web/tests/e2e/crud-smoke.spec.ts index 51eb2fdc5..71055671d 100644 --- a/web/tests/e2e/crud-smoke.spec.ts +++ b/web/tests/e2e/crud-smoke.spec.ts @@ -426,6 +426,21 @@ test.describe('bot advanced flows', () => { routingCard.getByText('Groups', { exact: true }), ).toBeVisible(); + await routingCard.getByRole('button', { name: 'Add behavior' }).click(); + await page.getByRole('menuitem', { name: /Reply to messages/ }).click(); + const routeEventSelect = routingCard.getByRole('combobox').first(); + await expect(routeEventSelect).toContainText('Message received'); + await expect(routeEventSelect).toContainText('message.received'); + await routeEventSelect.click(); + const routeEventOption = page + .getByRole('option') + .filter({ hasText: 'Message received' }); + await expect(routeEventOption).toContainText('message.received'); + await expect(routeEventOption).toContainText( + 'A user or group sends a new message to the bot.', + ); + await page.keyboard.press('Escape'); + await page.getByRole('button', { name: 'Refresh status' }).hover(); await expect( page.getByText('Failed to refresh route status.'),