From 70255d40e41bda28b80539078a4460280c785e3c Mon Sep 17 00:00:00 2001 From: John Wu <76966357+jwu-fisker@users.noreply.github.com> Date: Mon, 20 Mar 2023 16:04:27 -0700 Subject: [PATCH] CEC-3898 Update ecu table (#297) * CEC-3898 Update ecu table * smells * smells * smells * smells * Fix test * Clean up Car status tests --- src/components/Cars/Status/CANFiltersTab.jsx | 8 +- .../Cars/Status/CANFiltersTab.test.jsx | 6 +- src/components/Cars/Status/CANSignalsTab.jsx | 8 +- .../Cars/Status/CANSignalsTab.test.jsx | 6 +- src/components/Cars/Status/CarUpdatesTab.jsx | 8 +- src/components/Cars/Status/DetailsTab.jsx | 10 +- src/components/Cars/Status/ECUsTab.jsx | 8 +- .../__snapshots__/CANFiltersTab.test.jsx.snap | 8 +- .../__snapshots__/CarUpdatesTab.test.jsx.snap | 43 +++- .../__snapshots__/ECUsTab.test.jsx.snap | 197 +++++++++++++++++- .../Controls/CarECUsTable/index.jsx | 49 +++-- src/services/__mocks__/vehiclesAPI.js | 7 +- 12 files changed, 298 insertions(+), 60 deletions(-) diff --git a/src/components/Cars/Status/CANFiltersTab.jsx b/src/components/Cars/Status/CANFiltersTab.jsx index 81aa82e..a27d884 100644 --- a/src/components/Cars/Status/CANFiltersTab.jsx +++ b/src/components/Cars/Status/CANFiltersTab.jsx @@ -1,13 +1,11 @@ -import React from "react"; -import { useParams } from "react-router"; -import clsx from "clsx"; import { Typography } from "@material-ui/core"; +import clsx from "clsx"; +import React from "react"; import CANFiltersTable from "../../CANFilter/Table"; import useStyles from "../../useStyles"; -const CANFiltersTab = () => { - const { vin } = useParams(); +const CANFiltersTab = ({vin}) => { const classes = useStyles(); return ( diff --git a/src/components/Cars/Status/CANFiltersTab.test.jsx b/src/components/Cars/Status/CANFiltersTab.test.jsx index 518ff0f..5f10c43 100644 --- a/src/components/Cars/Status/CANFiltersTab.test.jsx +++ b/src/components/Cars/Status/CANFiltersTab.test.jsx @@ -8,10 +8,10 @@ jest.mock("@material-ui/core/utils/unstable_useId", () => import { render, waitFor } from "@testing-library/react"; import { BrowserRouter } from "react-router-dom"; -import { setToken } from "../../Contexts/UserContext"; -import { TEST_AUTH_OBJECT_FISKER } from "../../../utils/testing"; -import CANFiltersTab from "./CANFiltersTab"; import addSnapshotSerializer from "../../../utils/snapshot"; +import { TEST_AUTH_OBJECT_FISKER } from "../../../utils/testing"; +import { setToken } from "../../Contexts/UserContext"; +import CANFiltersTab from "./CANFiltersTab"; const renderCANFiltersTab = async () => { const { container } = render( diff --git a/src/components/Cars/Status/CANSignalsTab.jsx b/src/components/Cars/Status/CANSignalsTab.jsx index ad35df1..1adfcc7 100644 --- a/src/components/Cars/Status/CANSignalsTab.jsx +++ b/src/components/Cars/Status/CANSignalsTab.jsx @@ -1,11 +1,11 @@ -import React from "react"; -import clsx from "clsx"; import { Typography } from "@material-ui/core"; +import clsx from "clsx"; +import React from "react"; -import useStyles from "../../useStyles"; import { useUserContext } from "../../Contexts/UserContext"; -import CANSignals from "../CANSignals"; import { VehicleProvider } from "../../Contexts/VehicleContext"; +import useStyles from "../../useStyles"; +import CANSignals from "../CANSignals"; const Main = (props) => { const { diff --git a/src/components/Cars/Status/CANSignalsTab.test.jsx b/src/components/Cars/Status/CANSignalsTab.test.jsx index f50b265..fa70f47 100644 --- a/src/components/Cars/Status/CANSignalsTab.test.jsx +++ b/src/components/Cars/Status/CANSignalsTab.test.jsx @@ -9,14 +9,14 @@ jest.mock("@material-ui/core/utils/unstable_useId", () => import { render, waitFor } from "@testing-library/react"; import { BrowserRouter } from "react-router-dom"; -import CANSignalsTab from "./CANSignalsTab"; -import {setToken} from "../../Contexts/UserContext"; import { TEST_AUTH_OBJECT_FISKER } from "../../../utils/testing"; +import { setToken } from "../../Contexts/UserContext"; +import CANSignalsTab from "./CANSignalsTab"; const renderCANSignalsTab = async () => { const { container } = render( - + ); await waitFor(() => { diff --git a/src/components/Cars/Status/CarUpdatesTab.jsx b/src/components/Cars/Status/CarUpdatesTab.jsx index bd5dcda..273288a 100644 --- a/src/components/Cars/Status/CarUpdatesTab.jsx +++ b/src/components/Cars/Status/CarUpdatesTab.jsx @@ -1,7 +1,6 @@ import { Typography } from "@material-ui/core"; import clsx from "clsx"; import React from "react"; -import { useParams } from "react-router"; import { useUserContext } from "../../Contexts/UserContext"; import { VehicleProvider } from "../../Contexts/VehicleContext"; @@ -9,8 +8,7 @@ import CarUpdatesTable from "../../Controls/CarUpdatesTable"; import CarVersionLogTable from "../../Controls/CarVersionLogTable"; import useStyles from "../../useStyles"; -const MainForm = () => { - const { vin } = useParams(); +const MainForm = ({vin}) => { const classes = useStyles(); const { token: { @@ -28,9 +26,9 @@ const MainForm = () => { ); }; -const CarUpdatesTab = () => ( +const CarUpdatesTab = ({vin}) => ( - + ); diff --git a/src/components/Cars/Status/DetailsTab.jsx b/src/components/Cars/Status/DetailsTab.jsx index 0af91e9..7568be6 100644 --- a/src/components/Cars/Status/DetailsTab.jsx +++ b/src/components/Cars/Status/DetailsTab.jsx @@ -1,13 +1,11 @@ -import React from "react"; -import { useParams } from "react-router"; -import clsx from "clsx"; import { Typography } from "@material-ui/core"; +import clsx from "clsx"; +import React from "react"; -import CarDetails from "./Details"; import useStyles from "../../useStyles"; +import CarDetails from "./Details"; -const CarDetailsTab = () => { - const { vin } = useParams(); +const CarDetailsTab = ({vin}) => { const classes = useStyles(); return ( diff --git a/src/components/Cars/Status/ECUsTab.jsx b/src/components/Cars/Status/ECUsTab.jsx index efff526..7a1450c 100644 --- a/src/components/Cars/Status/ECUsTab.jsx +++ b/src/components/Cars/Status/ECUsTab.jsx @@ -1,15 +1,13 @@ import { Typography } from "@material-ui/core"; import clsx from "clsx"; import React from "react"; -import { useParams } from "react-router"; import { useUserContext } from "../../Contexts/UserContext"; import { VehicleProvider } from "../../Contexts/VehicleContext"; import CarECUsTable from "../../Controls/CarECUsTable"; import useStyles from "../../useStyles"; -const MainForm = () => { - const { vin } = useParams(); +const MainForm = ({ vin }) => { const classes = useStyles(); const { token: { @@ -27,9 +25,9 @@ const MainForm = () => { ); }; -const CarUpdatesTab = () => ( +const CarUpdatesTab = ({vin}) => ( - + ); diff --git a/src/components/Cars/Status/__snapshots__/CANFiltersTab.test.jsx.snap b/src/components/Cars/Status/__snapshots__/CANFiltersTab.test.jsx.snap index 77fde3d..727c71b 100644 --- a/src/components/Cars/Status/__snapshots__/CANFiltersTab.test.jsx.snap +++ b/src/components/Cars/Status/__snapshots__/CANFiltersTab.test.jsx.snap @@ -24,7 +24,7 @@ exports[`CANFiltersTab Render 1`] = ` >

- 0-0 of 0 + 1-2 of 2

+ + + Vendor + + + + + + Supplier Version + + + + + + Serial + + + + + + Boot Loader + + + - Created + Fingerprint

- 0-0 of 0 + 1-2 of 2

{ {ecus.map((row, i) => ( - {row.ecu} - {row.sw_version} - {row.hw_version} - {row.config} - - {LocalDateTimeString(row.created)} - - - {LocalDateTimeString(row.updated)} - + {tableColumns.map((column, j) => { + const key = `${row.ecu + i}${column.id}` + if (column.id === "updated_at") return ({LocalDateTimeString(row.updated)}); + return ({row[column.id]}); + })} ))} diff --git a/src/services/__mocks__/vehiclesAPI.js b/src/services/__mocks__/vehiclesAPI.js index 168b539..4b2844e 100644 --- a/src/services/__mocks__/vehiclesAPI.js +++ b/src/services/__mocks__/vehiclesAPI.js @@ -33,11 +33,16 @@ const data = [ const ecusData = [ { - config: "CONFIG", created: "2021-07-14T20:09:40.98187Z", ecu: "ECUA", hw_version: "HWVERSION", sw_version: "SWVERSION", + vendor: "VENDOR", + supplier_sw_version: "SUPPLIER_SW_VERSION", + serial_number: "SERIAL_NUMBER", + boot_loader_version: "BOOT_LOADER", + config: "CONFIG", + fingerprint: "FINGERPRINT", updated: "2021-07-14T20:09:40.98187Z", }, {