All files / components/Reports ReportTable.js

100% Statements 11/11
100% Branches 6/6
100% Functions 2/2
100% Lines 11/11

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            14x   14x   14x 2x 2x 1x   1x       14x                                                     14x 5x   14x            
import OurTable, { ButtonColumn } from "main/components/OurTable";
import { useNavigate } from "react-router-dom";
 
// should take in a players list from a commons
export default function ReportTable({ reports, storybook = false, buttons=true }) {
 
    const testid = "ReportTable";
 
    const navigate = useNavigate();
 
    const reportCallback = (cell) => {
        const route = `/admin/report/${cell.row.values["id"]}`
        if (storybook) {
            window.alert(`would navigate to ${route}`);
        } else {
            navigate(route)
        }
    }
 
    const columns = [
        {
            Header: 'id',
            accessor: 'id',
        },
        {
            Header: 'commonsId',
            accessor: 'commonsId',
        },
        {
            Header: 'Name',
            accessor: 'name',
        },
        {
            Header: 'Create Date',
            accessor: 'createDate',
        },
        {
            Header: 'Num Users',
            accessor: 'numUsers',
        },
        {
            Header: 'Num Cows',
            accessor: 'numCows',
        },
    ];
 
    if (buttons) {
        columns.push(ButtonColumn("View Report", "secondary", reportCallback, testid));
    }
    return <OurTable
        data={reports}
        columns={columns}
        testid={testid}
    />;
 
};