All files / components/Commons ProfitsTable.jsx

100% Statements 32/32
100% Branches 5/5
100% Functions 3/3
100% Lines 32/32

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 381x 1x   1x 3x 3x 3x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 3x   3x 3x   3x 3x 3x 3x 3x     3x  
import React from "react";
import OurTable from "main/components/OurTable";
 
export default function ProfitsTable({ profits }) {
  // Stryker disable ArrayDeclaration : [columns] and [students] are performance optimization; mutation preserves correctness
  const memoizedColumns = React.useMemo(
    () => [
      {
        Header: "Profit",
        accessor: (row) => `$${row.amount.toFixed(2)}`,
      },
      {
        Header: "Date",
        accessor: "timestamp",
      },
      {
        Header: "Health",
        accessor: (row) => `${row.avgCowHealth + "%"}`,
      },
      {
        Header: "Cows",
        accessor: "numCows",
      },
    ],
    [],
  );
  const memoizedDates = React.useMemo(() => profits, [profits]);
  // Stryker restore ArrayDeclaration
 
  return (
    <OurTable
      data={memoizedDates}
      columns={memoizedColumns}
      testid={"ProfitsTable"}
    />
  );
}