diff --git a/src/authz-module/index.scss b/src/authz-module/index.scss index 51d9c88..4c6ef34 100644 --- a/src/authz-module/index.scss +++ b/src/authz-module/index.scss @@ -3,11 +3,6 @@ .authz-libraries { --height-action-divider: 30px; - .pgn__breadcrumb li:first-child a { - color: var(--pgn-color-breadcrumb-active); - text-decoration: none; - } - hr { border-top: var(--pgn-size-border-width) solid var(--pgn-color-border); width: 100%; diff --git a/src/authz-module/libraries-manager/LibrariesTeamManager.test.tsx b/src/authz-module/libraries-manager/LibrariesTeamManager.test.tsx index a178291..c7e9ba8 100644 --- a/src/authz-module/libraries-manager/LibrariesTeamManager.test.tsx +++ b/src/authz-module/libraries-manager/LibrariesTeamManager.test.tsx @@ -191,4 +191,12 @@ describe('LibrariesTeamManager', () => { expect(readPublicToggle).toBeInTheDocument(); expect(readPublicToggle).toBeDisabled(); }); + + it('renders correct navigation link label and URL on breadcrumb', () => { + renderTeamManager(); + const navLink = screen.getByRole('link', { name: 'Manage Access' }); + expect(navLink).toBeInTheDocument(); + // TODO: Update expected URL when dedicated Manage Access page is created + expect(navLink).toHaveAttribute('href', '/authz/libraries/lib-001'); + }); }); diff --git a/src/authz-module/libraries-manager/LibrariesTeamManager.tsx b/src/authz-module/libraries-manager/LibrariesTeamManager.tsx index 2c0b082..bb898d6 100644 --- a/src/authz-module/libraries-manager/LibrariesTeamManager.tsx +++ b/src/authz-module/libraries-manager/LibrariesTeamManager.tsx @@ -5,6 +5,7 @@ import { } from '@openedx/paragon'; import { useLibrary } from '@src/authz-module/data/hooks'; import { useLocation } from 'react-router-dom'; +import { ROUTES } from '@src/authz-module/constants'; import TeamTable from './components/TeamTable'; import AuthZLayout from '../components/AuthZLayout'; import RoleCard from '../components/RoleCard'; @@ -23,8 +24,9 @@ const LibrariesTeamManager = () => { libraryId, canManageTeam, roles, permissions, resources, } = useLibraryAuthZ(); const { data: library } = useLibrary(libraryId); - const rootBradecrumb = intl.formatMessage(messages['library.authz.breadcrumb.root']) || ''; + const rootBreadcrumb = intl.formatMessage(messages['library.authz.breadcrumb.root']) || ''; const pageTitle = intl.formatMessage(messages['library.authz.manage.page.title']); + const teamMembersPath = `/authz${ROUTES.LIBRARIES_TEAM_PATH.replace(':libraryId', libraryId)}`; const [libraryPermissionsByRole, libraryPermissionsByResource] = useMemo(() => { if (!roles && !permissions && !resources) { return [null, null]; } @@ -42,7 +44,9 @@ const LibrariesTeamManager = () => {
{ expect(screen.getByText('Assign Role')).toBeInTheDocument(); }); + it('renders correct navigation link label and URL on breadcrumb', () => { + renderComponent(); + const navLinkManageAccess = screen.getByRole('link', { name: 'Manage Access' }); + expect(navLinkManageAccess).toBeInTheDocument(); + // TODO: Update expected URL when dedicated Manage Access page is created + expect(navLinkManageAccess).toHaveAttribute('href', '/authz/libraries/lib:123'); + const navLinkLibraryTeamManagement = screen.getByRole('link', { name: 'Library Team Management' }); + expect(navLinkLibraryTeamManagement).toBeInTheDocument(); + expect(navLinkLibraryTeamManagement).toHaveAttribute('href', '/authz/libraries/lib:123'); + }); + describe('Revoking User Role Flow', () => { it('opens confirmation modal when delete role button is clicked', async () => { const user = userEvent.setup(); diff --git a/src/authz-module/libraries-manager/LibrariesUserManager.tsx b/src/authz-module/libraries-manager/LibrariesUserManager.tsx index 7811f1f..d75b0c1 100644 --- a/src/authz-module/libraries-manager/LibrariesUserManager.tsx +++ b/src/authz-module/libraries-manager/LibrariesUserManager.tsx @@ -22,7 +22,7 @@ const LibrariesUserManager = () => { const { libraryId, permissions, roles, resources, canManageTeam, } = useLibraryAuthZ(); - const teamMembersPath = `/authz/${ROUTES.LIBRARIES_TEAM_PATH.replace(':libraryId', libraryId)}`; + const teamMembersPath = `/authz${ROUTES.LIBRARIES_TEAM_PATH.replace(':libraryId', libraryId)}`; useEffect(() => { if (!canManageTeam) { @@ -147,7 +147,9 @@ const LibrariesUserManager = () => { {user?.email}

}