From bb8950e86cb792336705f101103398f3643e849a Mon Sep 17 00:00:00 2001 From: aqilaziz Date: Thu, 21 May 2026 14:44:42 +0700 Subject: [PATCH] test(e2e): add stable UI test hooks --- app/src/components/settings/SettingsHome.tsx | 1 + .../settings/SettingsSectionPage.tsx | 1 + .../settings/__tests__/SettingsHome.test.tsx | 2 + .../settings/components/SettingsMenuItem.tsx | 4 ++ .../settings/panels/DeveloperOptionsPanel.tsx | 2 + .../settings/panels/MemoryDebugPanel.tsx | 2 +- .../settings/panels/WebhooksDebugPanel.tsx | 2 +- .../__tests__/MemoryDebugPanel.test.tsx | 34 +++++++++++ .../__tests__/WebhooksDebugPanel.test.tsx | 3 +- app/src/components/skills/SkillCard.test.tsx | 56 +++++++++++++++++++ app/src/components/skills/SkillCard.tsx | 9 ++- app/src/pages/Conversations.tsx | 4 ++ app/src/pages/Skills.tsx | 53 ++++++++++++------ .../Skills.discovered-skills.test.tsx | 4 +- 14 files changed, 154 insertions(+), 23 deletions(-) create mode 100644 app/src/components/settings/panels/__tests__/MemoryDebugPanel.test.tsx create mode 100644 app/src/components/skills/SkillCard.test.tsx diff --git a/app/src/components/settings/SettingsHome.tsx b/app/src/components/settings/SettingsHome.tsx index df90d68732..0ca90c96b7 100644 --- a/app/src/components/settings/SettingsHome.tsx +++ b/app/src/components/settings/SettingsHome.tsx @@ -265,6 +265,7 @@ const SettingsHome = () => { title={item.title} description={item.description} onClick={item.onClick} + testId={`settings-nav-${item.id}`} dangerous={item.dangerous} isFirst={index === 0} isLast={index === flatItems.length - 1} diff --git a/app/src/components/settings/SettingsSectionPage.tsx b/app/src/components/settings/SettingsSectionPage.tsx index 049dc92775..bc3e9601d4 100644 --- a/app/src/components/settings/SettingsSectionPage.tsx +++ b/app/src/components/settings/SettingsSectionPage.tsx @@ -45,6 +45,7 @@ const SettingsSectionPage = ({ title, description, items }: SettingsSectionPageP title={item.title} description={item.description} onClick={() => navigateToSettings(item.route)} + testId={`settings-nav-${item.id}`} isFirst={index === 0} isLast={index === items.length - 1} /> diff --git a/app/src/components/settings/__tests__/SettingsHome.test.tsx b/app/src/components/settings/__tests__/SettingsHome.test.tsx index 9420f534cc..1823d11f3d 100644 --- a/app/src/components/settings/__tests__/SettingsHome.test.tsx +++ b/app/src/components/settings/__tests__/SettingsHome.test.tsx @@ -107,6 +107,8 @@ describe('SettingsHome', () => { expect(screen.getByText('Advanced')).toBeInTheDocument(); expect(screen.getByText('Clear App Data')).toBeInTheDocument(); expect(screen.getByText('Log out')).toBeInTheDocument(); + expect(screen.getByTestId('settings-nav-account')).toBeInTheDocument(); + expect(screen.getByTestId('settings-nav-notifications')).toBeInTheDocument(); }); it('localizes Appearance and Mascot menu items', () => { diff --git a/app/src/components/settings/components/SettingsMenuItem.tsx b/app/src/components/settings/components/SettingsMenuItem.tsx index b394901faa..2edde69e8a 100644 --- a/app/src/components/settings/components/SettingsMenuItem.tsx +++ b/app/src/components/settings/components/SettingsMenuItem.tsx @@ -5,6 +5,7 @@ interface SettingsMenuItemProps { title: string; description?: string; onClick?: () => void; + testId?: string; dangerous?: boolean; isFirst?: boolean; isLast?: boolean; @@ -16,6 +17,7 @@ const SettingsMenuItem = ({ title, description, onClick, + testId, dangerous = false, isFirst = false, isLast = false, @@ -49,6 +51,7 @@ const SettingsMenuItem = ({ return (