All files / pages/MenuItemReview MenuItemReviewIndexPage.jsx

100% Statements 38/38
100% Branches 4/4
100% Functions 2/2
100% Lines 38/38

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 521x 1x   1x 1x 1x 1x   1x 9x   9x 9x 9x 9x 9x 9x 9x 9x 9x 9x     9x 9x 2x 2x 2x 2x 2x 2x       2x 7x 7x   9x 9x 9x 9x 9x 9x 9x 9x         9x  
import React from "react";
import { useBackend } from "main/utils/useBackend";
 
import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import MenuItemReviewTable from "main/components/MenuItemReview/MenuItemReviewTable";
import { useCurrentUser, hasRole } from "main/utils/useCurrentUser";
import { Button } from "react-bootstrap";
 
export default function MenuItemReviewIndexPage() {
  const currentUser = useCurrentUser();
 
  const {
    data: menuItemReviews,
    error: _error,
    status: _status,
  } = useBackend(
    // Stryker disable next-line all : don't test internal caching of React Query
    ["/api/menuitemreview/all"],
    { url: "/api/menuitemreview/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="/menuitemreview/create"
          style={{ float: "right" }}
        >
          Create Menu Item Review
        </Button>
      );
    }
    return null;
  };
 
  return (
    <BasicLayout>
      <div className="pt-2">
        {createButton()}
        <h1>Menu Item Reviews</h1>
        <MenuItemReviewTable
          menuItemReviews={menuItemReviews}
          currentUser={currentUser}
        />
      </div>
    </BasicLayout>
  );
}