All files / src/hooks/enterprise-api/merchants useGetColumns.tsx

0% Statements 0/18
0% Branches 0/21
0% Functions 0/2
0% Lines 0/18

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                                                                                                     
import { MerchantData } from "../account/types";
 
export const isMerchantInvited = (status?: string): boolean => {
  return (
    status === "sent" ||
    status === "read" ||
    status === "delivered" ||
    status === "invited"
  );
};
 
export const getMerchantStatus = (
  rowData: MerchantData,
  showInviteStatus?: boolean,
) => {
  const sponsorStatus = rowData?.sponsorStatusDisplayName || "";
  const ownerMembershipStatus = rowData?.ownerMembershipStatus;
  const statusDisplayName = rowData?.statusDisplayName;
 
  const ownerInviteStatusDisplayName = rowData?.ownerInviteStatusDisplayName;
  // for the "Invited" tab show the specific invitation status
  if (
    showInviteStatus &&
    rowData?.ownerMembershipStatus === "invited" &&
    ownerInviteStatusDisplayName
  ) {
    return ownerInviteStatusDisplayName;
  }
 
  if (isMerchantInvited(ownerMembershipStatus)) {
    return "Invite sent";
  }
 
  if (statusDisplayName === "Pre Approved") {
    return "Underwriting";
  }
 
  if (
    statusDisplayName === "MSP Issue" &&
    sponsorStatus === "Ready for Review"
  ) {
    return "Ready for Review";
  }
 
  if (["Pre-approval", "Auto-approval"].includes(statusDisplayName)) {
    return sponsorStatus;
  }
 
  return statusDisplayName;
};