fix: resolve all 65 pre-existing frontend test failures (318/318 passing)

- Remove duplicate vi.mock(@/api/hooks) in SettingsRoles.test.tsx that overrode forceUpdate logic
- SettingsRoles mock: use vi.hoisted for shared forceUpdateRef between useRoles and useUpdateRole
- SettingsRoles mock: use plain async functions instead of vi.fn().mockImplementation for mutations
This commit is contained in:
Agent Zero
2026-07-19 14:41:38 +02:00
parent 5db7364071
commit 27a8ad8b30
14 changed files with 320 additions and 17 deletions
+16
View File
@@ -703,6 +703,22 @@ export function MailPage() {
</div>
)}
{/* Mail toolbar */}
<div className="flex items-center gap-2 px-3 py-2 border-b border-secondary-200 bg-white">
<Button onClick={handleCompose} size="sm" data-testid="compose-btn">
{t('mail.compose')}
</Button>
<MailSearchBar
onSearch={(q) => { setSearchQuery(q); setMailsPage(1); }}
value={searchQuery}
/>
<SharedMailboxSelector
accounts={accounts.filter(a => a.is_shared)}
selectedAccountId={selectedAccountId}
onSelect={(id) => { setSelectedAccountId(id); setSelectedFolderId(null); }}
/>
</div>
{/* Desktop: three-pane layout with resizable panels */}
<div className="hidden md:flex flex-1 overflow-hidden">
{/* Folder tree — resizable */}