All files / components/Common ConvertedSectionTable.jsx

100% Statements 15/15
100% Branches 3/3
100% Functions 14/14
100% Lines 15/15

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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89                        47x       50x         50x         50x         50x         50x         50x                 50x         50x         50x         50x         50x         50x         50x       47x        
import OurTable from "main/components/OurTable";
import { yyyyqToQyy } from "main/utils/quarterUtilities";
import {
  formatDays,
  formatInstructors,
  formatLocation,
  formatTime,
  formatStatus,
  convertToFraction,
} from "main/utils/sectionUtils.jsx";
 
function ConvertedSectionTable({ sections, testid = "ConvertedSectionTable" }) {
  const columns = [
    {
      header: "Quarter",
      accessorKey: "quarter",
      cell: ({ row }) => yyyyqToQyy(row.original.courseInfo.quarter),
    },
    {
      header: "CourseId",
      accessorKey: "courseId",
      cell: ({ row }) => row.original.courseInfo.courseId,
    },
    {
      header: "Title",
      accessorKey: "title",
      cell: ({ row }) => row.original.courseInfo.title,
    },
    {
      header: "EnrollCd",
      accessorKey: "enrollCode",
      cell: ({ row }) => row.original.section.enrollCode,
    },
    {
      header: "Status",
      accessorKey: "status",
      cell: ({ row }) => formatStatus(row.original.section),
    },
    {
      header: "Enrolled",
      accessorKey: "enrolled",
      cell: ({ row }) =>
        convertToFraction(
          row.original.section.enrolledTotal,
          row.original.section.maxEnroll,
        ),
    },
    {
      header: "Days",
      accessorKey: "days",
      cell: ({ row }) => formatDays(row.original.section.timeLocations),
    },
    {
      header: "Time",
      accessorKey: "time",
      cell: ({ row }) => formatTime(row.original.section.timeLocations),
    },
    {
      header: "Location",
      accessorKey: "location",
      cell: ({ row }) => formatLocation(row.original.section.timeLocations),
    },
    {
      header: "Instructors",
      accessorKey: "instructors",
      cell: ({ row }) => formatInstructors(row.original.section.instructors),
    },
    {
      header: "Description",
      accessorKey: "description",
      cell: ({ row }) => row.original.courseInfo.description,
    },
    {
      header: "Section",
      accessorKey: "section",
      cell: ({ row }) => row.original.section.section,
    },
    {
      header: "Session",
      accessorKey: "session",
      cell: ({ row }) => row.original.section.session?.[5] || "",
    },
  ];
 
  return <OurTable data={sections} columns={columns} testid={testid} />;
}
 
export default ConvertedSectionTable;