diff --git a/src/components/Contexts/ManifestsContext.jsx b/src/components/Contexts/ManifestsContext.jsx
index 66bf4e7..c1dbde0 100644
--- a/src/components/Contexts/ManifestsContext.jsx
+++ b/src/components/Contexts/ManifestsContext.jsx
@@ -9,6 +9,21 @@ export const ManifestsProvider = ({ children }) => {
const [manifests, setManifests] = useState([]);
const [totalManifests, setTotalManifests] = useState(0);
+ const getManifest = async (id, token) => {
+ let result;
+
+ try {
+ setBusy(true);
+ result = await api.getManifest(id, token);
+ if (result.error)
+ throw new Error(`Get manifests error. ${result.message}`);
+ } finally {
+ setBusy(false);
+ }
+
+ return result;
+ };
+
const getManifests = async (search, token) => {
let result;
@@ -54,6 +69,7 @@ export const ManifestsProvider = ({ children }) => {
busy,
manifests,
totalManifests,
+ getManifest,
getManifests,
deleteManifest,
}}
diff --git a/src/components/Contexts/__mocks__/ManifestsContext.jsx b/src/components/Contexts/__mocks__/ManifestsContext.jsx
index 057eccc..0d3dbfd 100644
--- a/src/components/Contexts/__mocks__/ManifestsContext.jsx
+++ b/src/components/Contexts/__mocks__/ManifestsContext.jsx
@@ -3,6 +3,37 @@ import React from "react";
const ManifestsContext = React.createContext();
let busy = false;
+let manifest = {
+ id: 1,
+ name: "Test Deployment",
+ version: "1.0.100",
+ description: "Deployment folder test",
+ release_notes: "https://releasenotes.com",
+ ecu_list: "ICC 1000",
+ ecu_updates: [
+ {
+ name: "ICC",
+ part_number: "BBBBBB",
+ version: "1000",
+ files: [
+ {
+ file_id: "b0cda514c94080b4",
+ filename: "LARGE.jpg",
+ url: "https://upload-dev.fiskerdps.com/92bbc448-99c8-4851-91ad-f8042e4deb49/LARGE.jpg",
+ file_size: 14559274,
+ size: 14488498,
+ type: "ODX Data",
+ created: "2021-12-09T22:38:29.102813Z",
+ updated: "2021-12-09T22:38:29.102813Z",
+ },
+ ],
+ created: "2021-12-09T22:38:20.408351Z",
+ updated: "2022-01-14T00:47:08.996451Z",
+ },
+ ],
+ created: "2021-12-09T22:38:11.679943Z",
+ updated: "2022-01-14T00:47:08.996451Z",
+};
let manifests = [
{
id: 1,
@@ -22,6 +53,7 @@ export const useManifestsContext = () => ({
busy,
manifests,
totalManifests,
+ getManifest: jest.fn(() => manifest),
getManifests: jest.fn(() => manifests),
deleteManifest: jest.fn(),
});
diff --git a/src/components/Manifest/Details/__snapshots__/index.test.jsx.snap b/src/components/Manifest/Details/__snapshots__/index.test.jsx.snap
new file mode 100644
index 0000000..c34c539
--- /dev/null
+++ b/src/components/Manifest/Details/__snapshots__/index.test.jsx.snap
@@ -0,0 +1,223 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Manifest Details Component Render Hidden 1`] = `
+Object {
+ "asFragment": [Function],
+ "baseElement":
+
+ ,
+ "container":
,
+ "debug": [Function],
+ "findAllByAltText": [Function],
+ "findAllByDisplayValue": [Function],
+ "findAllByLabelText": [Function],
+ "findAllByPlaceholderText": [Function],
+ "findAllByRole": [Function],
+ "findAllByTestId": [Function],
+ "findAllByText": [Function],
+ "findAllByTitle": [Function],
+ "findByAltText": [Function],
+ "findByDisplayValue": [Function],
+ "findByLabelText": [Function],
+ "findByPlaceholderText": [Function],
+ "findByRole": [Function],
+ "findByTestId": [Function],
+ "findByText": [Function],
+ "findByTitle": [Function],
+ "getAllByAltText": [Function],
+ "getAllByDisplayValue": [Function],
+ "getAllByLabelText": [Function],
+ "getAllByPlaceholderText": [Function],
+ "getAllByRole": [Function],
+ "getAllByTestId": [Function],
+ "getAllByText": [Function],
+ "getAllByTitle": [Function],
+ "getByAltText": [Function],
+ "getByDisplayValue": [Function],
+ "getByLabelText": [Function],
+ "getByPlaceholderText": [Function],
+ "getByRole": [Function],
+ "getByTestId": [Function],
+ "getByText": [Function],
+ "getByTitle": [Function],
+ "queryAllByAltText": [Function],
+ "queryAllByDisplayValue": [Function],
+ "queryAllByLabelText": [Function],
+ "queryAllByPlaceholderText": [Function],
+ "queryAllByRole": [Function],
+ "queryAllByTestId": [Function],
+ "queryAllByText": [Function],
+ "queryAllByTitle": [Function],
+ "queryByAltText": [Function],
+ "queryByDisplayValue": [Function],
+ "queryByLabelText": [Function],
+ "queryByPlaceholderText": [Function],
+ "queryByRole": [Function],
+ "queryByTestId": [Function],
+ "queryByText": [Function],
+ "queryByTitle": [Function],
+ "rerender": [Function],
+ "unmount": [Function],
+}
+`;
+
+exports[`Manifest Details Component Render Shown 1`] = `
+Object {
+ "asFragment": [Function],
+ "baseElement":
+
+
+
+
+ Hide Details
+
+
+ -
+ Test Deployment 1.0.100
+
+ -
+ Deployment folder test https://releasenotes.com
+
+ -
+ ECUs:
+
+ -
+ ICC, Part: BBBBBB, Version: 1000
+
+
+ -
+ ODX Data: LARGE.jpg
+
+
+
+
+
+
+
+
+
+ ,
+ "container":
+
+
+
+ Hide Details
+
+
+ -
+ Test Deployment 1.0.100
+
+ -
+ Deployment folder test https://releasenotes.com
+
+ -
+ ECUs:
+
+ -
+ ICC, Part: BBBBBB, Version: 1000
+
+
+ -
+ ODX Data: LARGE.jpg
+
+
+
+
+
+
+
+
+
,
+ "debug": [Function],
+ "findAllByAltText": [Function],
+ "findAllByDisplayValue": [Function],
+ "findAllByLabelText": [Function],
+ "findAllByPlaceholderText": [Function],
+ "findAllByRole": [Function],
+ "findAllByTestId": [Function],
+ "findAllByText": [Function],
+ "findAllByTitle": [Function],
+ "findByAltText": [Function],
+ "findByDisplayValue": [Function],
+ "findByLabelText": [Function],
+ "findByPlaceholderText": [Function],
+ "findByRole": [Function],
+ "findByTestId": [Function],
+ "findByText": [Function],
+ "findByTitle": [Function],
+ "getAllByAltText": [Function],
+ "getAllByDisplayValue": [Function],
+ "getAllByLabelText": [Function],
+ "getAllByPlaceholderText": [Function],
+ "getAllByRole": [Function],
+ "getAllByTestId": [Function],
+ "getAllByText": [Function],
+ "getAllByTitle": [Function],
+ "getByAltText": [Function],
+ "getByDisplayValue": [Function],
+ "getByLabelText": [Function],
+ "getByPlaceholderText": [Function],
+ "getByRole": [Function],
+ "getByTestId": [Function],
+ "getByText": [Function],
+ "getByTitle": [Function],
+ "queryAllByAltText": [Function],
+ "queryAllByDisplayValue": [Function],
+ "queryAllByLabelText": [Function],
+ "queryAllByPlaceholderText": [Function],
+ "queryAllByRole": [Function],
+ "queryAllByTestId": [Function],
+ "queryAllByText": [Function],
+ "queryAllByTitle": [Function],
+ "queryByAltText": [Function],
+ "queryByDisplayValue": [Function],
+ "queryByLabelText": [Function],
+ "queryByPlaceholderText": [Function],
+ "queryByRole": [Function],
+ "queryByTestId": [Function],
+ "queryByText": [Function],
+ "queryByTitle": [Function],
+ "rerender": [Function],
+ "unmount": [Function],
+}
+`;
diff --git a/src/components/Manifest/Details/index.jsx b/src/components/Manifest/Details/index.jsx
new file mode 100644
index 0000000..e87389d
--- /dev/null
+++ b/src/components/Manifest/Details/index.jsx
@@ -0,0 +1,94 @@
+import React, { useState, useEffect } from "react";
+import { useParams } from "react-router";
+
+import { useManifestsContext } from "../../Contexts/ManifestsContext";
+import { useStatusContext } from "../../Contexts/StatusContext";
+import { useUserContext } from "../../Contexts/UserContext";
+import useStyles from "../../useStyles";
+
+const ECUFileList = (files) => {
+ if (!files || files.length === 0) return "No files";
+ return (
+
+ {files.map((file) => (
+ - {`${file.type}: ${file.filename} `}
+ ))}
+
+ );
+};
+
+const ECUList = (ecus) => {
+ if (!ecus || ecus.length === 0) return "None";
+ return (
+
+ {ecus.map((ecu) => (
+ -
+ {`${ecu.name}, Part: ${ecu.part_number}, Version: ${ecu.version}`}
+
+ {ECUFileList(ecu.files)}
+
+ ))}
+
+ );
+};
+
+const ManifestDetails = ({ opened }) => {
+ const classes = useStyles();
+ const { manifest_id } = useParams();
+ const [manifest, setManifest] = useState(null);
+ const [open, setOpen] = useState(opened || false);
+ const { getManifest } = useManifestsContext();
+ const { setMessage } = useStatusContext();
+ const {
+ token: {
+ idToken: { jwtToken: token },
+ },
+ } = useUserContext();
+
+ const init = async () => {
+ try {
+ const result = await getManifest(manifest_id, token);
+ if (result.error) {
+ throw new Error(`Get manifest error. ${result.message}`);
+ } else {
+ setManifest(result);
+ }
+ } catch (e) {
+ setMessage(e.message);
+ }
+ };
+
+ const toggleOpen = (e) => {
+ e.preventDefault();
+ setOpen(!open);
+ };
+
+ useEffect(() => {
+ if (!open || manifest) return;
+ init();
+ // eslint-disable-next-line
+ }, [open]);
+
+ if (!open)
+ return (
+
toggleOpen(e)}>
+ Show Details
+
+ );
+ if (manifest === null) return
Loading Manifest...
;
+
+ return (
+ <>
+
toggleOpen(e)}>
+ Hide Details
+
+
+ - {`${manifest.name} ${manifest.version}`}
+ - {`${manifest.description} ${manifest.release_notes}`}
+ - ECUs: {ECUList(manifest.ecu_updates)}
+
+ >
+ );
+};
+
+export default ManifestDetails;
diff --git a/src/components/Manifest/Details/index.test.jsx b/src/components/Manifest/Details/index.test.jsx
new file mode 100644
index 0000000..33289de
--- /dev/null
+++ b/src/components/Manifest/Details/index.test.jsx
@@ -0,0 +1,46 @@
+jest.mock("../../Contexts/ManifestsContext");
+jest.mock("../../Contexts/UserContext");
+
+import React from "react";
+import { render, waitFor } from "@testing-library/react";
+import { BrowserRouter } from "react-router-dom";
+
+import { ManifestsProvider } from "../../Contexts/ManifestsContext";
+import { UserProvider, setToken } from "../../Contexts/UserContext";
+import { StatusProvider } from "../../Contexts/StatusContext";
+import ManifestDetails from ".";
+import { TEST_AUTH_OBJECT } from "../../../utils/testing";
+
+const TestComponent = (opened) => (
+
+
+
+
+
+
+
+
+
+);
+
+describe("Manifest Details Component", () => {
+ beforeAll(() => {
+ setToken(TEST_AUTH_OBJECT);
+ });
+
+ it("Render Hidden", async () => {
+ const rendered = render(TestComponent(false));
+ await waitFor(() => {
+ // pause for render
+ });
+ expect(rendered).toMatchSnapshot();
+ });
+
+ it("Render Shown", async () => {
+ const rendered = render(TestComponent(true));
+ await waitFor(() => {
+ // pause for render
+ });
+ expect(rendered).toMatchSnapshot();
+ });
+});
diff --git a/src/components/Manifest/Status/index.jsx b/src/components/Manifest/Status/index.jsx
index 7334238..93f0bc8 100644
--- a/src/components/Manifest/Status/index.jsx
+++ b/src/components/Manifest/Status/index.jsx
@@ -26,6 +26,7 @@ import { useStatusContext } from "../../Contexts/StatusContext";
import useStyles from "../../useStyles";
import { LocalDateTimeString } from "../../../utils/dates";
import { logger } from "../../../services/monitoring";
+import ManifestDetails from "../Details";
const MainForm = () => {
const { manifest_id } = useParams();
@@ -182,6 +183,7 @@ const MainForm = () => {
const ManifestStatus = () => (
+
diff --git a/src/services/__mocks__/manifestsAPI.js b/src/services/__mocks__/manifestsAPI.js
index 11436c8..312d4f5 100644
--- a/src/services/__mocks__/manifestsAPI.js
+++ b/src/services/__mocks__/manifestsAPI.js
@@ -1,12 +1,10 @@
-
-
const manifestsAPI = {
createCarUpdates: async (data, token) => {
if (!data.id) data.id = 0;
data.id++;
return data;
},
-
+
getPackages: async (search, token) => {
return {
data: [
@@ -30,9 +28,9 @@ const manifestsAPI = {
version: "1.2",
link: "https://cloudfront.com/download",
ecu_list: "ECU1 1.1.0,ECU2 1.1.2",
- }
- ]
- }
+ },
+ ],
+ };
},
updatePackage: async (data, token) => {
@@ -54,6 +52,40 @@ const manifestsAPI = {
getCarUpdateProgress: async (carupdateids, token) => {
return { statuses: [] };
},
+
+ getManifest: async (id, token) => {
+ return {
+ id,
+ name: "Test Deployment",
+ version: "1.0.100",
+ description: "Deployment folder test",
+ release_notes: "https://releasenotes.com",
+ ecu_list: "ICC 1000",
+ ecu_updates: [
+ {
+ name: "ICC",
+ part_number: "BBBBBB",
+ version: "1000",
+ files: [
+ {
+ file_id: "b0cda514c94080b4",
+ filename: "LARGE.jpg",
+ url: "https://upload-dev.fiskerdps.com/92bbc448-99c8-4851-91ad-f8042e4deb49/LARGE.jpg",
+ file_size: 14559274,
+ size: 14488498,
+ type: "ODX Data",
+ created: "2021-12-09T22:38:29.102813Z",
+ updated: "2021-12-09T22:38:29.102813Z",
+ },
+ ],
+ created: "2021-12-09T22:38:20.408351Z",
+ updated: "2022-01-14T00:47:08.996451Z",
+ },
+ ],
+ created: "2021-12-09T22:38:11.679943Z",
+ updated: "2022-01-14T00:47:08.996451Z",
+ };
+ },
};
export default manifestsAPI;
diff --git a/src/services/manifestsAPI.js b/src/services/manifestsAPI.js
index 473b6ab..96cc485 100644
--- a/src/services/manifestsAPI.js
+++ b/src/services/manifestsAPI.js
@@ -16,6 +16,17 @@ const manifestsAPI = {
),
}).then(fetchRespHandler),
+ getManifest: async (id, token) => {
+ const u = addQueryParams(`${API_ENDPOINT}/manifest`, { id });
+ return fetch(u, {
+ method: "GET",
+ headers: Object.assign(
+ { "Content-Type": "application/json" },
+ getAuthHeaderOptions(token)
+ ),
+ }).then(fetchRespHandler);
+ },
+
getManifests: async (search, token) => {
const u = addQueryParams(`${API_ENDPOINT}/manifests`, search);
return fetch(u, {
From 3b9252097a3f7db9e7cc4859b134febb733e9e2e Mon Sep 17 00:00:00 2001
From: John Wu <76966357+jwu-fisker@users.noreply.github.com>
Date: Tue, 1 Mar 2022 16:56:25 -0800
Subject: [PATCH 10/43] CEC-1050 New manifest format (#117)
* CEC-1050 Manifest changes
* Fix delete bug
* Add approve update button
* Code smell
* Remove update approval
---
.../App/__snapshots__/App.test.js.snap | 225 +-----------------
src/components/Cars/CarECUs/index.jsx | 31 +--
.../Contexts/ManifestCreateContext.jsx | 5 +-
src/components/Contexts/ManifestsContext.jsx | 10 +-
.../Contexts/__mocks__/CarUpdatesContext.jsx | 12 +-
.../__mocks__/ManifestCreateContext.jsx | 7 +-
.../Contexts/__mocks__/VehicleContext.jsx | 9 -
.../Controls/CarECUsTable/index.jsx | 24 +-
.../CarUpdateStatusTable.test.jsx.snap | 24 +-
.../Controls/FlashModesList/index.jsx | 34 +++
.../Controls/ManifestECUList/index.jsx | 14 +-
.../Details/__snapshots__/index.test.jsx.snap | 22 +-
src/components/Manifest/Details/index.jsx | 6 +-
src/components/Manifest/Status/index.jsx | 2 +-
src/services/__mocks__/manifestsAPI.js | 4 +
src/services/__mocks__/updatesAPI.js | 4 +-
src/services/__mocks__/vehiclesAPI.js | 68 +++---
17 files changed, 155 insertions(+), 346 deletions(-)
create mode 100644 src/components/Controls/FlashModesList/index.jsx
diff --git a/src/components/App/__snapshots__/App.test.js.snap b/src/components/App/__snapshots__/App.test.js.snap
index c6da07d..527320d 100644
--- a/src/components/App/__snapshots__/App.test.js.snap
+++ b/src/components/App/__snapshots__/App.test.js.snap
@@ -2484,30 +2484,12 @@ exports[`App Route /package-create authenticated 1`] = `
>
Version
-
- Part Number
- |
-
- Serial
- |
Hardware
|
-
- Vendor
- |
- |
-
- |
-
-
- |
@@ -3110,28 +3048,6 @@ exports[`App Route /package-create authenticated 1`] = `
|
-
-
- |
|
- |
- BLVERSION
- |
HWVERSION
|
-
- VENDOR
- |
CONFIG
|
-
- FINGERPRINT
- |
-
- SERIAL
- |
@@ -7547,44 +7352,22 @@ exports[`App Route /vehicle-status authenticated 1`] = `
>
|
- ECUB
- |
+ />
SWVERSION
|
-
- BLVERSION
- |
HWVERSION
|
-
- VENDOR
- |
CONFIG
|
-
- FINGERPRINT
- |
-
- SERIAL
- |
diff --git a/src/components/Cars/CarECUs/index.jsx b/src/components/Cars/CarECUs/index.jsx
index 3259490..0b6d3b6 100644
--- a/src/components/Cars/CarECUs/index.jsx
+++ b/src/components/Cars/CarECUs/index.jsx
@@ -22,32 +22,20 @@ const tableColumns = [
label: "ECU",
},
{
- id: "sw_version",
+ id: "version",
label: "SW Version",
},
- {
- id: "boot_loader_version",
- label: "BL Version",
- },
{
id: "hw_version",
label: "HW Version",
},
{
- id: "vendor",
- label: "Vendor",
+ id: "mode",
+ label: "Flash Mode",
},
{
- id: "config",
- label: "Config",
- },
- {
- id: "fingerprint",
- label: "Fingerprint",
- },
- {
- id: "serial_number",
- label: "Serial",
+ id: "self_download",
+ label: "Flash Mode",
},
{
id: "created_at",
@@ -133,13 +121,10 @@ const CarECUs = ({ vin, token }) => {
{ecus.map((row) => (
{row.ecu}
- {row.sw_version}
- {row.boot_loader_version}
+ {row.version}
{row.hw_version}
- {row.vendor}
- {row.config}
- {row.fingerprint}
- {row.serial_number}
+ {row.mode}
+ {row.self_download}
{LocalDateTimeString(row.created)}
diff --git a/src/components/Contexts/ManifestCreateContext.jsx b/src/components/Contexts/ManifestCreateContext.jsx
index f6ee12a..6243787 100644
--- a/src/components/Contexts/ManifestCreateContext.jsx
+++ b/src/components/Contexts/ManifestCreateContext.jsx
@@ -22,13 +22,10 @@ const checkExistingManifest = async (data, token) => {
const ECUTemplate = {
name: "AGS",
- part_number: "",
version: "",
- serial_number: "",
hw_version: "",
- vendor: "",
+ configuration_mask: "",
configuration: "",
- fingerprint: "",
files: [],
manifest_id: 0,
};
diff --git a/src/components/Contexts/ManifestsContext.jsx b/src/components/Contexts/ManifestsContext.jsx
index c1dbde0..e996456 100644
--- a/src/components/Contexts/ManifestsContext.jsx
+++ b/src/components/Contexts/ManifestsContext.jsx
@@ -46,16 +46,16 @@ export const ManifestsProvider = ({ children }) => {
const deleteManifest = async (package_id, token) => {
let result;
- const index = manifests.findIndex((element) => {
- return element.id === package_id;
- });
- manifests.splice(index, 1);
-
try {
setBusy(true);
result = await api.deleteManifest(package_id, token);
if (result.error)
throw new Error(`Delete manifest error. ${result.message}`);
+
+ const index = manifests.findIndex((element) => {
+ return element.id === package_id;
+ });
+ manifests.splice(index, 1);
} finally {
setBusy(false);
}
diff --git a/src/components/Contexts/__mocks__/CarUpdatesContext.jsx b/src/components/Contexts/__mocks__/CarUpdatesContext.jsx
index befabba..009a01f 100644
--- a/src/components/Contexts/__mocks__/CarUpdatesContext.jsx
+++ b/src/components/Contexts/__mocks__/CarUpdatesContext.jsx
@@ -44,8 +44,17 @@ let carUpdateLog = {
created: "2021-08-23T17:06:38.030052Z",
updated: "2021-08-23T17:06:38.030052Z",
},
+ {
+ id: 88,
+ carupdate_id: 284,
+ status: "install_approval_await",
+ error_code: 0,
+ info: "TEST",
+ created: "2021-08-23T17:06:38.030052Z",
+ updated: "2021-08-23T17:06:38.030052Z",
+ },
],
- total: 2,
+ total: 3,
};
export const CarUpdatesProvider = ({ children }) => {
@@ -64,4 +73,5 @@ export const useCarUpdatesContext = () => ({
getVINUpdates: jest.fn(() => carUpdates),
startMonitor: jest.fn(),
stopMonitor: jest.fn(),
+ approveUpdate: jest.fn(),
});
diff --git a/src/components/Contexts/__mocks__/ManifestCreateContext.jsx b/src/components/Contexts/__mocks__/ManifestCreateContext.jsx
index 54f872c..87a5f78 100644
--- a/src/components/Contexts/__mocks__/ManifestCreateContext.jsx
+++ b/src/components/Contexts/__mocks__/ManifestCreateContext.jsx
@@ -7,13 +7,8 @@ let ecus = [
{
data_id: 0,
name: "AGS",
- part_number: "",
version: "",
- serial_number: "",
hw_version: "",
- vendor: "",
- configuration: "",
- fingerprint: "",
manifest_id: 0,
files: [
{
@@ -21,6 +16,8 @@ let ecus = [
order: 0,
offset: "0",
checksum: "",
+ self_download: false,
+ mode: "D",
type: 1,
},
],
diff --git a/src/components/Contexts/__mocks__/VehicleContext.jsx b/src/components/Contexts/__mocks__/VehicleContext.jsx
index 1f385d5..526d4f7 100644
--- a/src/components/Contexts/__mocks__/VehicleContext.jsx
+++ b/src/components/Contexts/__mocks__/VehicleContext.jsx
@@ -31,28 +31,19 @@ export const useVehicleContext = () => ({
return {
data: [
{
- boot_loader_version: "BLVERSION",
config: "CONFIG",
created: "2021-07-14T20:09:40.98187Z",
ecu: "ECUA",
- fingerprint: "FINGERPRINT",
hw_version: "HWVERSION",
- serial_number: "SERIAL",
sw_version: "SWVERSION",
updated: "2021-07-14T20:09:40.98187Z",
- vendor: "VENDOR",
},
{
- boot_loader_version: "BLVERSION",
config: "CONFIG",
created: "2021-07-14T20:09:40.98187Z",
- ecu: "ECUB",
- fingerprint: "FINGERPRINT",
hw_version: "HWVERSION",
- serial_number: "SERIAL",
sw_version: "SWVERSION",
updated: "2021-07-14T20:09:40.98187Z",
- vendor: "VENDOR",
},
],
total: 2,
diff --git a/src/components/Controls/CarECUsTable/index.jsx b/src/components/Controls/CarECUsTable/index.jsx
index a022a83..9ea5ac9 100644
--- a/src/components/Controls/CarECUsTable/index.jsx
+++ b/src/components/Controls/CarECUsTable/index.jsx
@@ -24,30 +24,14 @@ const tableColumns = [
id: "sw_version",
label: "SW Version",
},
- {
- id: "boot_loader_version",
- label: "BL Version",
- },
{
id: "hw_version",
label: "HW Version",
},
- {
- id: "vendor",
- label: "Vendor",
- },
{
id: "config",
label: "Config",
},
- {
- id: "fingerprint",
- label: "Fingerprint",
- },
- {
- id: "serial_number",
- label: "Serial",
- },
{
id: "created_at",
label: "Created",
@@ -128,16 +112,12 @@ const CarECUsTable = ({ vin, token, classes }) => {
onSortRequest={handleSort}
/>
- {ecus.map((row) => (
-
+ {ecus.map((row, i) => (
+
{row.ecu}
{row.sw_version}
- {row.boot_loader_version}
{row.hw_version}
- {row.vendor}
{row.config}
- {row.fingerprint}
- {row.serial_number}
{LocalDateTimeString(row.created)}
diff --git a/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap b/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap
index cec400e..f3b8196 100644
--- a/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap
+++ b/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap
@@ -153,6 +153,28 @@ exports[`CarUpdateStatusTable Render 1`] = `
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
/>
+
+ |
+ 8/23/2021 5:06:38 PM
+ |
+
+ install_approval_await
+ |
+
+ TEST
+ |
+ |
+
| |