All files / src/stock-operations/stock-operations-forms/steps stock-operation-item-batch-no-cell.component.tsx

71.42% Statements 10/14
50% Branches 7/14
66.66% Functions 2/3
83.33% Lines 10/12

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                            3x           2x 2x 2x 2x 1x       2x   2x     2x 2x            
import { InlineLoading } from '@carbon/react';
import React, { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { type StockOperationType } from '../../../core/api/types/stockOperation/StockOperationType';
import useOperationTypePermisions from '../hooks/useOperationTypePermisions';
import { useStockItemBatchNumbers } from '../hooks/useStockItemBatchNumbers';
 
type StockOperationitemBatchNoCellProps = {
  operation: StockOperationType;
  stockBatchUuid?: string;
  batchNo?: string;
  stockItemUuid: string;
};
 
const StockOperationItemBatchNoCell: React.FC<StockOperationitemBatchNoCellProps> = ({
  operation,
  batchNo,
  stockBatchUuid,
  stockItemUuid,
}) => {
  const operationTypePermision = useOperationTypePermisions(operation);
  const { isLoading, stockItemBatchNos } = useStockItemBatchNumbers(stockItemUuid);
  const { t } = useTranslation();
  const _batchno = useMemo(
    () => stockItemBatchNos?.find((item) => item.uuid === stockBatchUuid)?.batchNo,
    [stockItemBatchNos, stockBatchUuid],
  );
 
  Iif (isLoading) <InlineLoading description={t('loading', 'Loading')} iconDescription={t('loading', 'Loading')} />;
 
  Iif (operationTypePermision.requiresBatchUuid && !operationTypePermision.requiresActualBatchInfo)
    return <p>{_batchno ?? '--'}</p>;
 
  Eif (operationTypePermision.requiresActualBatchInfo || operationTypePermision.requiresBatchUuid)
    return <p>{batchNo ?? '--'}</p>;
 
  return <p>--</p>;
};
 
export default StockOperationItemBatchNoCell;