All files / components/GEAreas CoursesInGEAreaTable.jsx

100% Statements 11/11
100% Branches 4/4
100% Functions 5/5
100% Lines 10/10

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          23x       279x         279x                           279x 279x 277x   144x 144x 144x             23x                
import React from "react";
import OurTable from "main/components/OurTable";
import { yyyyqToQyy } from "main/utils/quarterUtilities.jsx";
 
export default function CoursesInGEAreaTable({ courses }) {
  const columns = [
    {
      Header: "Quarter",
      id: "quarter",
      cell: ({ cell }) => yyyyqToQyy(cell.row.original.quarter),
    },
    {
      Header: "Course ID",
      id: "courseId",
      cell: ({ cell }) => cell.row.original.courseId?.trim(),
    },
    {
      Header: "Title",
      accessor: "title",
    },
    {
      Header: "Units",
      accessor: "unitsFixed",
    },
    {
      Header: "GE Areas",
      id: "geAreas",
      cell: ({ cell }) => {
        const ges = cell.row.original.generalEducation;
        if (!ges) return "";
        return ges
          .map((ge) => {
            const code = ge.geCode?.trim();
            const college = ge.geCollege?.trim();
            return college ? `${code} (${college})` : code;
          })
          .join(", ");
      },
    },
  ];
 
  return (
    <OurTable
      data={courses}
      columns={columns}
      testid={"CoursesInGEAreaTable"}
    />
  );
}