All files / components/Leaderboard LeaderboardTable.js

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

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 57 58 59 60 61 62 63 64            13x                       3x                                               13x       13x                 13x   13x            
import OurTable from "main/components/OurTable";
import { hasRole } from "main/utils/currentUser";
 
// should take in a players list from a commons
export default function LeaderboardTable({ leaderboardUsers , currentUser }) {
 
    const columns = [
        {
            Header: 'User Id',
            accessor: 'userId', 
        },
        {
            Header: 'Username',
            accessor: 'username', 
        },
        {
            id : 'totalWealth',
            Header: 'Total Wealth',
            accessor: (leaderboard) => `$${String(leaderboard.totalWealth.toFixed(2))}`,
        },
        {
            Header: 'Cows Owned',
            accessor: 'numOfCows', 
        },
        {
            Header: 'Cow Health',
            accessor: 'cowHealth', 
        },
        {
            Header: 'Cows Bought',
            accessor: 'cowsBought', 
        },
        {
            Header: 'Cows Sold',
            accessor: 'cowsSold', 
        },
        {
            Header: 'Cow Deaths',
            accessor: 'cowDeaths', 
        },
    ];
 
    const testid = "LeaderboardTable";
 
    /* Temp filler for admin leaderboard table */
 
    const columnsIfAdmin = [
        {
            Header: '(Admin) userCommons Id',
            accessor: 'id'
        },
        ...columns
 
    ];
 
    const columnsToDisplay = hasRole(currentUser, "ROLE_ADMIN") ? columnsIfAdmin : columns;
 
    return <OurTable
        data={leaderboardUsers}
        columns={columnsToDisplay}
        testid={testid}
    />;
 
};