From a8972e2f11a3587d23fdbe56b081393df4950c2b Mon Sep 17 00:00:00 2001 From: Paul Adamsen <117673433+pauladamseniii@users.noreply.github.com> Date: Mon, 15 May 2023 19:41:26 -0400 Subject: [PATCH 1/3] CEC-4214 - Display new digital twin property (#332) --- .../Status/__snapshots__/DigitalTwinTab.test.jsx.snap | 11 +++++++++++ src/components/Contexts/__mocks__/VehicleContext.jsx | 5 ++++- src/components/DigitalTwin/index.js | 7 ++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/components/Cars/Status/__snapshots__/DigitalTwinTab.test.jsx.snap b/src/components/Cars/Status/__snapshots__/DigitalTwinTab.test.jsx.snap index 196e03f..1f8ffc2 100644 --- a/src/components/Cars/Status/__snapshots__/DigitalTwinTab.test.jsx.snap +++ b/src/components/Cars/Status/__snapshots__/DigitalTwinTab.test.jsx.snap @@ -219,6 +219,17 @@ exports[`DigitalTwinTab Render 1`] = ` d439abd3662dd20099f49dd8f43f7b145202e961caa2b5aba2c6154c8096348b

+
+

+ + Vehicle Speed + + : + 77.7 +

+
({ getModels: jest.fn(() => { models = ["Ocean", "PEAR"]; }), - getState: jest.fn(() => vehicleState), + getState: jest.fn().mockResolvedValue(vehicleState), getYears: jest.fn(() => { years = [2023, 2024]; }), diff --git a/src/components/DigitalTwin/index.js b/src/components/DigitalTwin/index.js index c359dc7..804e9e0 100644 --- a/src/components/DigitalTwin/index.js +++ b/src/components/DigitalTwin/index.js @@ -27,7 +27,7 @@ const windowState = (value) => { const DigitalTwin = (props) => { const classes = useStyles(); - const { battery, doors, location, trex_version, ip, updated, windows, misc_windows, sunroof, dbc_version, door_locks, vcu0x260, charging_metrics, max_range } = props; + const { battery, doors, location, trex_version, ip, updated, windows, misc_windows, sunroof, dbc_version, door_locks, vcu0x260, charging_metrics, max_range, vehicle_speed } = props; return (
@@ -122,6 +122,11 @@ const DigitalTwin = (props) => { {keyValueTemplate("DBC Version", dbc_version)}
)} + {vehicle_speed && ( +
+ {keyValueTemplate("Vehicle Speed", vehicle_speed.speed)} +
+ )}
); }; From 6842fb69a0010fb61cce5be341089caf64f0148c Mon Sep 17 00:00:00 2001 From: Paul Adamsen <117673433+pauladamseniii@users.noreply.github.com> Date: Tue, 16 May 2023 15:44:55 -0400 Subject: [PATCH 2/3] CEC-4301 - Revise home map zoom to (#333) --- .../App/__snapshots__/App.test.js.snap | 16 ++++++++-------- src/components/VehicleMap/index.jsx | 19 ++++++++++++++----- src/components/VehicleMap/zoomLocations.json | 8 ++++---- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/components/App/__snapshots__/App.test.js.snap b/src/components/App/__snapshots__/App.test.js.snap index 9795528..209f8f2 100644 --- a/src/components/App/__snapshots__/App.test.js.snap +++ b/src/components/App/__snapshots__/App.test.js.snap @@ -497,17 +497,17 @@ exports[`App Route / authenticated 1`] = ` North America @@ -517,7 +517,7 @@ exports[`App Route / authenticated 1`] = ` Europe @@ -1894,17 +1894,17 @@ exports[`App Route /home authenticated 1`] = ` North America @@ -1914,7 +1914,7 @@ exports[`App Route /home authenticated 1`] = ` Europe diff --git a/src/components/VehicleMap/index.jsx b/src/components/VehicleMap/index.jsx index 1af736a..b0fecd9 100644 --- a/src/components/VehicleMap/index.jsx +++ b/src/components/VehicleMap/index.jsx @@ -12,6 +12,7 @@ import { ValidateLocationData } from "../../utils/locations"; import { useUserContext } from "../Contexts/UserContext"; import { useVehicleContext, VehicleProvider } from "../Contexts/VehicleContext"; import { VehiclePopUp } from "./popup"; +import { useLocalStorage } from "../useLocalStorage"; import zoomLocations from './zoomLocations.json'; const Component = () => { @@ -29,6 +30,7 @@ const Component = () => { const [zoom, setZoom] = useState(2); const [markers, setMarkers] = useState([]); const [connections, setConnections] = useState({}); + const [lastMapCenter, setLastMapCenter] = useLocalStorage("MAP_CENTER", ""); useEffect(() => { if (!token) return; @@ -62,10 +64,16 @@ const Component = () => { }; const centerAroundMarkers = (points) => { - let defaultLocationJSON = process.env.REACT_APP_HOME_MAP_DEFAULT_LOCATION; - let defaultLocation = JSON.parse(defaultLocationJSON) - setCenter([defaultLocation.lat, defaultLocation.lng]); - setZoom(defaultLocation.zoom); + if (lastMapCenter) { + let zoomLocation = JSON.parse(lastMapCenter) + setCenter(zoomLocation.center); + setZoom(zoomLocation.zoom) + } else { + let defaultLocationJSON = process.env.REACT_APP_HOME_MAP_DEFAULT_LOCATION; + let defaultLocation = JSON.parse(defaultLocationJSON) + setCenter([defaultLocation.lat, defaultLocation.lng]); + setZoom(defaultLocation.zoom); + } }; useEffect(() => { @@ -105,6 +113,7 @@ const Component = () => { }; const focusMap = (e) => { + setLastMapCenter(e.target.value) let zoomLocation = JSON.parse(e.target.value) setCenter(zoomLocation.center); setZoom(zoomLocation.zoom) @@ -145,7 +154,7 @@ const Component = () => { return ( <> - + Date: Thu, 18 May 2023 12:41:30 -0400 Subject: [PATCH 3/3] CEC-4157 - Add new statuses to car_update_progress (#334) * CEC-4157 - Add new statuses to car_update_progress * small fix --- .../App/__snapshots__/App.test.js.snap | 110 ++++++- .../Contexts/__mocks__/CarUpdatesContext.jsx | 60 +++- .../CarUpdateStatusProgress.test.jsx | 24 +- .../CarUpdateStatusProgress/Statuses.js | 2 + .../CarUpdateStatusProgress.test.jsx.snap | 284 ++++++++++++++++++ .../CarUpdateStatusProgress/index.jsx | 4 +- .../CarUpdateStatusTable.test.jsx.snap | 44 +++ 7 files changed, 524 insertions(+), 4 deletions(-) diff --git a/src/components/App/__snapshots__/App.test.js.snap b/src/components/App/__snapshots__/App.test.js.snap index 209f8f2..08c49aa 100644 --- a/src/components/App/__snapshots__/App.test.js.snap +++ b/src/components/App/__snapshots__/App.test.js.snap @@ -5411,6 +5411,114 @@ exports[`App Route /package-status authenticated 1`] = ` + + + 2 + + + + 1G1FP87S3GN100062 + + + + downloaded + + + 7/1/2021 10:40:07 PM + + + 7/12/2021 6:22:13 PM + + + + + + + + + + 3 + + + + 1G1FP87S3GN100062 + + + + downloaded + + + 7/1/2021 10:40:07 PM + + + 7/12/2021 6:22:13 PM + + + + + + + - 1-1 of 1 + 1-2 of 2

{ const renderCarUpdateStatusProgress = async (status) => { const { container } = render(); - await waitFor(() => {}); + await waitFor(() => { }); return container; }; @@ -144,6 +144,28 @@ describe("CarUpdateStatusProgress", () => { err: 0, }, }, + { + name: "install_scheduled", + status: { + car_update_id: 1, + ecu: "TEST", + installed: 5, + total_files: 10, + msg: s.InstallSucceeded, + err: 0, + }, + }, + { + name: "requirements_failed", + status: { + car_update_id: 1, + ecu: "TEST", + installed: 5, + total_files: 10, + msg: s.InstallFailed, + err: 0, + }, + }, ]; for (let i = 0, len = tests.length; i < len; i++) { const test = tests[i]; diff --git a/src/components/Controls/CarUpdateStatusProgress/Statuses.js b/src/components/Controls/CarUpdateStatusProgress/Statuses.js index fc9be48..a60d887 100644 --- a/src/components/Controls/CarUpdateStatusProgress/Statuses.js +++ b/src/components/Controls/CarUpdateStatusProgress/Statuses.js @@ -34,6 +34,8 @@ const Statuses = { PackageDownloadCompleted: "package_download_complete", PackageInstallStarted: "package_install_start", PackageInstallCompleted: "package_install_complete", + RequirementsFailed: "requirements_failed", + InstallScheduled: "install_scheduled", }; export default Statuses; diff --git a/src/components/Controls/CarUpdateStatusProgress/__snapshots__/CarUpdateStatusProgress.test.jsx.snap b/src/components/Controls/CarUpdateStatusProgress/__snapshots__/CarUpdateStatusProgress.test.jsx.snap index c037ba9..af4dcb1 100644 --- a/src/components/Controls/CarUpdateStatusProgress/__snapshots__/CarUpdateStatusProgress.test.jsx.snap +++ b/src/components/Controls/CarUpdateStatusProgress/__snapshots__/CarUpdateStatusProgress.test.jsx.snap @@ -994,6 +994,148 @@ exports[`CarUpdateStatusProgress Render install_error 1`] = `
`; +exports[`CarUpdateStatusProgress Render install_scheduled 1`] = ` +
+
+
+ +

+ Pending +

+
+
+ +

+ Received +

+
+
+ +

+ Precondition +

+
+
+ +

+ Download +

+
+
+ +

+ Approved +

+
+
+ +

+ Install +

+
+
+ +

+ Updated +

+
+
+
+`; + exports[`CarUpdateStatusProgress Render installing 1`] = `
`; + +exports[`CarUpdateStatusProgress Render requirements_failed 1`] = ` +
+
+
+ +

+ Pending +

+
+
+ +

+ Received +

+
+
+ +

+ Precondition +

+
+
+ +

+ Download +

+
+
+ +

+ Approved +

+
+
+ +

+ Install +

+
+
+ +

+ Updated +

+
+
+
+`; diff --git a/src/components/Controls/CarUpdateStatusProgress/index.jsx b/src/components/Controls/CarUpdateStatusProgress/index.jsx index 2131b30..6b9cd1d 100644 --- a/src/components/Controls/CarUpdateStatusProgress/index.jsx +++ b/src/components/Controls/CarUpdateStatusProgress/index.jsx @@ -56,9 +56,11 @@ const PHASES = [ s.Installing, s.InstallSucceeded, s.InstallFailed, + s.RequirementsFailed, + s.InstallScheduled, ], progress: (msg, progress) => { - if (msg === s.InstallFailed) return ErrorStatus; + if (msg === s.InstallFailed || msg === s.RequirementsFailed) return ErrorStatus; if (msg === s.PackageInstallCompleted) return CompleteStatus; return progress; }, diff --git a/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap b/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap index 5807971..1e588b0 100644 --- a/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap +++ b/src/components/Controls/CarUpdateStatusTable/__snapshots__/CarUpdateStatusTable.test.jsx.snap @@ -175,6 +175,50 @@ exports[`CarUpdateStatusTable Render 1`] = ` class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter" /> + + + 8/23/2021 5:06:38 PM + + + install_scheduled + + + TEST + + + + + + 8/23/2021 5:06:38 PM + + + requirements_failed + + + TEST + + +