Skip to content

Commit df13efb

Browse files
committed
refactor: clean up tests and update navigation parameters for AddRoleButton
1 parent c34735f commit df13efb

4 files changed

Lines changed: 5 additions & 45 deletions

File tree

src/authz-module/authz-home/index.test.tsx

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import React from 'react';
22
import { screen } from '@testing-library/react';
33
import { useAllRoleAssignments, useOrgs, useScopes } from '@src/authz-module/data/hooks';
44
import { ToastManagerProvider } from '@src/authz-module/libraries-manager/ToastManagerContext';
5-
import { renderWithAllProviders, renderWrapper } from '@src/setupTest';
5+
import { renderWithAllProviders } from '@src/setupTest';
66
import userEvent from '@testing-library/user-event';
7-
import { useNavigate } from 'react-router-dom';
87
import AuthzHome from './index';
98
import messages from './messages';
109

@@ -29,33 +28,6 @@ const renderAuthzHome = () => renderWithAllProviders(
2928
</ToastManagerProvider>,
3029
);
3130

32-
jest.mock('../components/AuthZLayout', () => function MockAuthZLayout(
33-
{ children, actions }: { children: React.ReactNode; actions?: React.ReactNode[] },
34-
) {
35-
return <div data-testid="authz-layout">{actions}{children}</div>;
36-
});
37-
38-
jest.mock('../roles-permissions/RolesPermissions', () => function MockRolesPermissions() {
39-
return <div data-testid="roles-permissions">Roles & Permissions Content</div>;
40-
});
41-
42-
jest.mock('@openedx/paragon', () => ({
43-
Tab: ({ children, title } : { children: React.ReactNode, title: string }) => <div data-testid="tab" role="tabpanel">{title}: {children}</div>,
44-
Tabs: ({ children }: { children: React.ReactNode }) => <div data-testid="tabs">{children}</div>,
45-
Button: ({ children, onClick }: React.PropsWithChildren<{ onClick?: () => void }>) => (
46-
<button type="button" onClick={onClick}>{children}</button>
47-
),
48-
Icon: () => null,
49-
}));
50-
51-
jest.mock('react-router-dom', () => ({
52-
...jest.requireActual('react-router-dom'),
53-
useNavigate: jest.fn(),
54-
}));
55-
56-
const mockNavigate = jest.fn();
57-
(useNavigate as jest.Mock).mockReturnValue(mockNavigate);
58-
5931
describe('AuthzHome', () => {
6032
beforeEach(() => {
6133
(useAllRoleAssignments as jest.Mock).mockReturnValue(emptyResponse);
@@ -99,11 +71,4 @@ describe('AuthzHome', () => {
9971
expect(screen.getAllByText('Role').length).toBe(2); // Header and role filter;
10072
expect(screen.getByText('Actions')).toBeInTheDocument();
10173
});
102-
103-
it('navigates to the wizard when the Assign Role button is clicked', async () => {
104-
const user = userEvent.setup();
105-
renderWrapper(<AuthzHome />);
106-
await user.click(screen.getByRole('button', { name: /Assign Role/i }));
107-
expect(mockNavigate).toHaveBeenCalled();
108-
});
10974
});

src/authz-module/authz-home/messages.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@ const messages = defineMessages({
2121
defaultMessage: 'Roles and Permissions',
2222
description: 'AuthZ title for the roles tab',
2323
},
24-
'authz.manage.assign.role.button': {
25-
id: 'authz.manage.assign.role.button',
26-
defaultMessage: 'Assign Role',
27-
description: 'Button to navigate to the assign role wizard',
28-
},
2924
});
3025

3126
export default messages;

src/authz-module/components/AddRoleButton.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ describe('AddRoleButton', () => {
7676
await user.click(button);
7777

7878
expect(mockNavigate).toHaveBeenCalledTimes(1);
79-
expect(mockNavigate).toHaveBeenCalledWith(`/authz/assign-role?username=${presetUsername}`);
79+
expect(mockNavigate).toHaveBeenCalledWith(`/authz/assign-role?users=${presetUsername}`);
8080
});
8181

8282
it('handles special characters in presetUsername correctly', async () => {
@@ -88,7 +88,7 @@ describe('AddRoleButton', () => {
8888
await user.click(button);
8989

9090
expect(mockNavigate).toHaveBeenCalledTimes(1);
91-
expect(mockNavigate).toHaveBeenCalledWith(`/authz/assign-role?username=${presetUsername}`);
91+
expect(mockNavigate).toHaveBeenCalledWith(`/authz/assign-role?${new URLSearchParams({ users: presetUsername }).toString()}`);
9292
});
9393
});
9494

@@ -128,7 +128,7 @@ describe('AddRoleButton', () => {
128128
await user.click(button);
129129

130130
expect(mockNavigate).toHaveBeenCalledTimes(3);
131-
expect(mockNavigate).toHaveBeenCalledWith('/authz/assign-role?username=testuser');
131+
expect(mockNavigate).toHaveBeenCalledWith('/authz/assign-role?users=testuser');
132132
});
133133
});
134134
});

src/authz-module/libraries-manager/LibrariesTeamManager.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
import { useLibrary } from '@src/authz-module/data/hooks';
77
import { useLocation } from 'react-router-dom';
88
import { ROUTES } from '@src/authz-module/constants';
9-
import AddRoleButton from 'authz-module/components/AddRoleButton';
9+
import AddRoleButton from '@src/authz-module/components/AddRoleButton';
1010
import TeamTable from './components/TeamTable';
1111
import AuthZLayout from '../components/AuthZLayout';
1212
import RoleCard from '../components/RoleCard';

0 commit comments

Comments
 (0)