diff --git a/.changeset/popular-bugs-hide.md b/.changeset/popular-bugs-hide.md new file mode 100644 index 0000000000000..fabdae3acb3fa --- /dev/null +++ b/.changeset/popular-bugs-hide.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +Fixes issue preventing the Security Logs from being accessed using the Enhanced Navbar in feature preview diff --git a/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.spec.tsx b/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.spec.tsx index de197ab30f09f..aa66de600a502 100644 --- a/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.spec.tsx +++ b/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.spec.tsx @@ -129,3 +129,30 @@ it('should return audiLogs item if have license and can-audit-log permission', a ), ); }); + +it('should return auditSecurityLog item if have license and can-audit-log permission', async () => { + const { result } = renderHook(() => useAuditMenu(), { + wrapper: mockAppRoot() + .withEndpoint('GET', '/v1/licenses.info', () => ({ + license: { + license: { + // @ts-expect-error: just for testing + grantedModules: [{ module: 'auditing' }], + }, + // @ts-expect-error: just for testing + activeModules: ['auditing'], + }, + })) + .withJohnDoe() + .withPermission('can-audit') + .build(), + }); + + await waitFor(() => + expect(result.current.items[1]).toEqual( + expect.objectContaining({ + id: 'auditSecurityLog', + }), + ), + ); +}); diff --git a/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.tsx b/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.tsx index be412480c3007..744513c6316e0 100644 --- a/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.tsx +++ b/apps/meteor/client/NavBarV2/NavBarSettingsToolbar/hooks/useAuditMenu.tsx @@ -25,8 +25,18 @@ export const useAuditMenu = () => { onClick: () => router.navigate('/audit-log'), }; + const auditSecurityLogsItem: GenericMenuItemProps = { + id: 'auditSecurityLog', + content: t('Security_logs'), + onClick: () => router.navigate('/security-logs'), + }; + return { title: t('Audit'), - items: [hasAuditPermission && auditMessageItem, hasAuditLogPermission && auditLogItem].filter(Boolean) as GenericMenuItemProps[], + items: [ + hasAuditPermission && auditMessageItem, + hasAuditLogPermission && auditLogItem, + hasAuditPermission && auditSecurityLogsItem, + ].filter(Boolean) as GenericMenuItemProps[], }; };