All files / react-app/src/components/UserManagementGuard index.tsx

100% Statements 6/6
100% Branches 3/3
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18        106x 3x   3x   2x   2x            
import { Navigate, Outlet } from "react-router";
 
import { useGetUserDetails } from "@/api";
 
const UserManagementGuard = () => {
  const { data: userDetails, isLoading } = useGetUserDetails();
 
  if (isLoading) return null;
 
  const allowedRoles = ["systemadmin", "statesystemadmin", "cmsroleapprover", "helpdesk"];
 
  const canView = allowedRoles.includes(userDetails?.role);
 
  return canView ? <Outlet /> : <Navigate to="/404" replace />;
};
 
export { UserManagementGuard };