All files / src/features/Underwriting/UnderwritingCard UnderwritingChallengeCategories.tsx

100% Statements 8/8
75% Branches 6/8
100% Functions 1/1
100% Lines 8/8

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 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                              21x           22x   22x 22x 22x 22x     22x         22x                                          
import { Collapse, Stack } from "@mui/material";
import { useAppTheme } from "@theme/v2/Provider";
import ChallengesCategories from "features/Merchants/MerchantSidePanel/WithRepository/Challenges/ChallengesCategories";
import ChallengeCategoriesBottom from "./ChallengeCategoriesBottom";
import { useEnterprisePermissions } from "@components/AcquirerEnterprises/CreateEnterprise/hooks/useEnterprisePermissions";
import { checkPortals } from "@utils/routing";
import { useMerchantSidePanelContext } from "features/Merchants/MerchantSidePanel/Provider/MerchantSidePanelProvider";
 
type TChallengeCategoriesProps = {
  allChallengesCompleted: boolean;
  merchantId: number;
  merchantName: string;
  show: boolean;
};
 
const UnderwritingChallengeCategories = ({
  allChallengesCompleted,
  merchantId,
  merchantName,
  show,
}: TChallengeCategoriesProps) => {
  const { palette } = useAppTheme();
  const { merchant_underwriting_statuses, agreement_signing } =
    useEnterprisePermissions();
  const { isEnterprisePortal } = checkPortals();
  const { data, isOnboardingView } = useMerchantSidePanelContext();
  const isRFRMerchant = data?.status?.sponsorStatusName === "ready_for_review";
 
  const isHidden =
    (!(merchant_underwriting_statuses || agreement_signing) &&
      isEnterprisePortal) ||
    isRFRMerchant ||
    isOnboardingView;
 
  return (
    <Collapse in={show} timeout={500} unmountOnExit>
      <Stack
        borderTop={`1px solid ${palette.surface?.tertiary}`}
        paddingTop={"16px"}
        gap={3}
      >
        <ChallengesCategories />
        {!isHidden && (
          <ChallengeCategoriesBottom
            isAllCompleted={allChallengesCompleted}
            merchantId={merchantId}
            merchantName={merchantName}
          />
        )}
      </Stack>
    </Collapse>
  );
};
 
export default UnderwritingChallengeCategories;