From 3e6ba9ec5cf2ea08316a9cd70d7be0f72ff96933 Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Wed, 22 Apr 2026 16:15:26 -0600 Subject: [PATCH 1/2] fix: minor fixes applied --- src/authz-module/audit-user/index.tsx | 4 +++- .../components/SelectUsersAndRoleStep.tsx | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/authz-module/audit-user/index.tsx b/src/authz-module/audit-user/index.tsx index a084d609..d5f45567 100644 --- a/src/authz-module/audit-user/index.tsx +++ b/src/authz-module/audit-user/index.tsx @@ -42,7 +42,9 @@ const AuditUserPage = () => { isLoading: isLoadingUser, data: user, isError: isErrorUser, error: errorUser, } = useUserAccount(username); const { querySettings, handleTableFetch } = useQuerySettings(); - const { isLoading: isLoadingUserAssignments, data: { results: userAssignments, count } = { results: [], count: 0 } } = useUserAssignedRoles(username ?? '', querySettings); + const { + isLoading: isLoadingUserAssignments, data: { results: userAssignments, count } = { results: [], count: 0 }, + } = useUserAssignedRoles(username, querySettings); const [roleToDelete, setRoleToDelete] = useState(null); const [showConfirmDeletionModal, setShowConfirmDeletionModal] = useState(false); const { diff --git a/src/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.tsx b/src/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.tsx index 6ee4dd2c..78021c4c 100644 --- a/src/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.tsx +++ b/src/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.tsx @@ -107,7 +107,7 @@ const SelectUsersAndRoleStep = ({ )} > -
{radioContent}
+
{radioContent}
); } From faaf4869cb228a2ee87965e5d0b29090b6445ca5 Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Wed, 22 Apr 2026 16:37:43 -0600 Subject: [PATCH 2/2] fix: tests added for missing parts in audit user --- src/authz-module/audit-user/index.test.tsx | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/src/authz-module/audit-user/index.test.tsx b/src/authz-module/audit-user/index.test.tsx index 68af229a..fac9921c 100644 --- a/src/authz-module/audit-user/index.test.tsx +++ b/src/authz-module/audit-user/index.test.tsx @@ -496,4 +496,75 @@ describe('AuditUserPage', () => { expect(screen.getByText(/this is the user's only role/i)).toBeInTheDocument(); }); }); + + it('handles undefined data from useUserAssignedRoles with default destructuring', async () => { + (useUserAccount as jest.Mock).mockReturnValue({ + data: mockUser, + isLoading: false, + isError: false, + error: null, + }); + + (useUserAssignedRoles as jest.Mock).mockReturnValue({ + data: undefined, // This triggers the default destructuring assignment + isLoading: false, + isError: false, + error: null, + }); + + renderWithRouter(); + + await waitFor(() => { + expect(screen.getByText('johndoe', { selector: 'li[aria-current="page"]' })).toBeInTheDocument(); + expect(screen.getByRole('table')).toBeInTheDocument(); + }); + }); + + it('navigates to home when user not found and isErrorUser is false', async () => { + (useUserAccount as jest.Mock).mockReturnValue({ + data: null, + isLoading: false, + isError: false, + error: null, + }); + + (useUserAssignedRoles as jest.Mock).mockReturnValue({ + data: mockAssignments, + isLoading: false, + isError: false, + error: null, + }); + + renderWithRouter(); + + await waitFor(() => { + expect(screen.getByText('Home Page')).toBeInTheDocument(); + }); + }); + + it('navigates to home when user not found and error is 404', async () => { + (useUserAccount as jest.Mock).mockReturnValue({ + data: null, + isLoading: false, + isError: true, + error: { + customAttributes: { + httpErrorStatus: 404, + }, + }, + }); + + (useUserAssignedRoles as jest.Mock).mockReturnValue({ + data: mockAssignments, + isLoading: false, + isError: false, + error: null, + }); + + renderWithRouter(); + + await waitFor(() => { + expect(screen.getByText('Home Page')).toBeInTheDocument(); + }); + }); });