All files / pages/UCSBDiningCommonsMenuItems UCSBDiningCommonsMenuItemIndexPage.jsx

100% Statements 37/37
100% Branches 3/3
100% Functions 2/2
100% Lines 37/37

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 511x 1x   1x 1x 1x 1x   1x 7x   7x 7x 7x 7x 7x 7x 7x 7x 7x 7x     7x 7x 3x 3x 3x 3x 3x 3x       3x 7x   7x 7x 7x 7x 7x 7x 7x 7x         7x  
import React from "react";
import { useBackend } from "main/utils/useBackend";
 
import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import UCSBDiningCommonsMenuItemTable from "main/components/UCSBDiningCommonsMenuItems/UCSBDiningCommonsMenuItemTable";
import { useCurrentUser, hasRole } from "main/utils/useCurrentUser";
import { Button } from "react-bootstrap";
 
export default function UCSBDiningCommonsMenuItemIndexPage() {
  const currentUser = useCurrentUser();
 
  const {
    data: menuitems,
    error: _error,
    status: _status,
  } = useBackend(
    // Stryker disable next-line all : don't test internal caching of React Query
    ["/api/ucsbdiningcommonsmenuitems/all"],
    { method: "GET", url: "/api/ucsbdiningcommonsmenuitems/all" },
    // Stryker disable next-line all : don't test default value of empty list
    [],
  );
 
  const createButton = () => {
    if (hasRole(currentUser, "ROLE_ADMIN")) {
      return (
        <Button
          variant="primary"
          href="/UCSBDiningCommonsMenuItems/create"
          style={{ float: "right" }}
        >
          Create UCSBDiningCommonsMenuItem
        </Button>
      );
    }
  };
 
  return (
    <BasicLayout>
      <div className="pt-2">
        {createButton()}
        <h1>UCSBDiningCommonsMenuItems</h1>
        <UCSBDiningCommonsMenuItemTable
          UCSBDiningCommonsMenuItems={menuitems}
          currentUser={currentUser}
        />
      </div>
    </BasicLayout>
  );
}