From 56043dc3753735cfab1fd56396589e957e36c16a Mon Sep 17 00:00:00 2001 From: John Wu <76966357+jwu-fisker@users.noreply.github.com> Date: Mon, 19 Sep 2022 15:55:55 -0700 Subject: [PATCH] Push to prod (#201) * CEC-2056 safari map (#186) * CEC-2056 Fix Safari map popup * Snapshot serializer for Private styles * Combine serializers * CEC-2207 Add is-online filter for vehicles list (#187) * Add OptionsDropdown component * Add is-online filter * CEC-2237 Track sign in and keys (#188) * Update stage (#189) * CEC-2056 safari map (#186) * CEC-2056 Fix Safari map popup * Snapshot serializer for Private styles * Combine serializers * CEC-2207 Add is-online filter for vehicles list (#187) * Add OptionsDropdown component * Add is-online filter * CEC-2237 Track sign in and keys (#188) Co-authored-by: arpanetus * CEC-2281 Update certificate form (#190) * CEC-2281 Fix cert name * CEC-2360 Fix filename display and add manifest type (#191) * CEC-2360 Fix filename display and add manifest type * const * Push to Stage (#200) * CEC-2144, CEC-2338 Add deploy by fleets and fix fleets table (#192) * Add fix for fleets search * Decompose fleets table * Add deploy by fleets * Add snapshots * CEC-2385 Only show software updates (#193) * CEC-2385 Only show software updates * Update browser list * update threshold * Clean up * CEC-2291 Remote Commands (#194) * CEC-2378 Add fix for fleet vehicles' search * CEC-1235 Fix fleet name update (#196) Co-authored-by: arpanetus Co-authored-by: arpanetus --- package-lock.json | 40 +- package.json | 9 +- src/components/App/App.test.js | 10 - .../App/__snapshots__/App.test.js.snap | 1990 +++-------------- .../Add/__snapshots__/index.test.jsx.snap | 12 +- .../Update/__snapshots__/index.test.jsx.snap | 12 +- .../Add/__snapshots__/index.test.jsx.snap | 80 +- .../List/__snapshots__/index.test.jsx.snap | 32 +- src/components/Cars/List/index.jsx | 24 +- .../Cars/Status/RemoteCommandsTab.jsx | 26 + .../Cars/Status/RemoteCommandsTab.test.jsx | 40 + .../RemoteCommandsTab.test.jsx.snap | 173 ++ .../Status/__snapshots__/index.test.jsx.snap | 31 +- src/components/Cars/Status/index.jsx | 6 + .../Update/__snapshots__/index.test.jsx.snap | 80 +- .../Certificates/Add/CreateForm.jsx | 17 +- .../Certificates/Add/DownloadCerts.jsx | 11 +- .../__snapshots__/DownloadCerts.test.jsx.snap | 8 +- src/components/Certificates/Add/index.jsx | 12 +- src/components/Contexts/CarUpdatesContext.jsx | 34 +- .../Contexts/CertificateContext.jsx | 3 +- .../Contexts/ManifestCreateContext.jsx | 247 -- src/components/Contexts/VehicleContext.jsx | 4 +- .../Contexts/VehicleContext.test.jsx | 49 + .../__mocks__/ManifestCreateContext.jsx | 50 - .../Contexts/__mocks__/ManifestsContext.jsx | 2 - .../Controls/CarSelectionTable/index.jsx | 6 +- .../Controls/FleetSelectionTable/index.jsx | 199 ++ .../Controls/ManifestECUFileList/index.jsx | 79 - .../Controls/ManifestECUList/index.jsx | 75 - .../Controls/ManifestECURow/index.jsx | 33 - .../Controls/ManifestUploadProgress/index.jsx | 68 - .../Controls/OptionsDropdown/index.jsx | 77 + .../Controls/SendCommand/Commands.jsx | 251 +++ .../Controls/SendCommand/Parameters.jsx | 73 + .../Controls/SendCommand/Parameters.test.jsx | 140 ++ .../__snapshots__/Parameters.test.jsx.snap | 24 + src/components/Controls/SendCommand/index.jsx | 122 +- .../Controls/SendCommand/sanitize.js | 115 + .../Controls/SendCommand/sanitize.test.js | 150 ++ .../__snapshots__/index.test.jsx.snap | 2 +- .../Add/__snapshots__/index.test.jsx.snap | 68 +- .../Add/__snapshots__/index.test.jsx.snap | 12 +- .../Update/__snapshots__/index.test.jsx.snap | 12 +- .../Add/__snapshots__/index.test.jsx.snap | 4 +- .../Fleets/Status/Vehicles/Table/index.jsx | 10 +- .../Status/__snapshots__/index.test.jsx.snap | 6 +- .../Table/__snapshots__/index.test.jsx.snap | 744 +++--- src/components/Fleets/Table/index.jsx | 170 +- .../Update/__snapshots__/index.test.jsx.snap | 76 +- src/components/Fleets/Update/index.jsx | 17 +- src/components/Manifest/Create/index.jsx | 157 -- .../Manifest/Deploy/FleetDeployForm.jsx | 177 ++ .../Manifest/Deploy/VehicleDeployForm.jsx | 175 ++ src/components/Manifest/Deploy/index.jsx | 121 +- .../Details/__snapshots__/index.test.jsx.snap | 4 +- src/components/Manifest/Details/index.jsx | 13 +- src/components/Manifest/List/index.jsx | 6 +- src/components/Routes/SiteRoutes.jsx | 9 - .../Details/__snapshots__/index.test.js.snap | 24 +- .../List/__snapshots__/index.test.jsx.snap | 64 + src/components/Suppliers/Table/index.jsx | 18 +- src/services/__mocks__/updatesAPI.js | 6 + src/services/__mocks__/vehiclesAPI.js | 3 +- src/services/certificatesAPI.js | 12 + src/services/commands.js | 99 +- src/services/updatesAPI.js | 27 +- src/services/vehiclesAPI.js | 5 +- src/utils/manifest_types.js | 2 + src/utils/snapshot.js | 18 +- 70 files changed, 3059 insertions(+), 3416 deletions(-) create mode 100644 src/components/Cars/Status/RemoteCommandsTab.jsx create mode 100644 src/components/Cars/Status/RemoteCommandsTab.test.jsx create mode 100644 src/components/Cars/Status/__snapshots__/RemoteCommandsTab.test.jsx.snap delete mode 100644 src/components/Contexts/ManifestCreateContext.jsx delete mode 100644 src/components/Contexts/__mocks__/ManifestCreateContext.jsx create mode 100644 src/components/Controls/FleetSelectionTable/index.jsx delete mode 100644 src/components/Controls/ManifestECUFileList/index.jsx delete mode 100644 src/components/Controls/ManifestECUList/index.jsx delete mode 100644 src/components/Controls/ManifestECURow/index.jsx delete mode 100644 src/components/Controls/ManifestUploadProgress/index.jsx create mode 100644 src/components/Controls/OptionsDropdown/index.jsx create mode 100644 src/components/Controls/SendCommand/Commands.jsx create mode 100644 src/components/Controls/SendCommand/Parameters.jsx create mode 100644 src/components/Controls/SendCommand/Parameters.test.jsx create mode 100644 src/components/Controls/SendCommand/__snapshots__/Parameters.test.jsx.snap create mode 100644 src/components/Controls/SendCommand/sanitize.js create mode 100644 src/components/Controls/SendCommand/sanitize.test.js delete mode 100644 src/components/Manifest/Create/index.jsx create mode 100644 src/components/Manifest/Deploy/FleetDeployForm.jsx create mode 100644 src/components/Manifest/Deploy/VehicleDeployForm.jsx create mode 100644 src/utils/manifest_types.js diff --git a/package-lock.json b/package-lock.json index ea0312a..8b3fc11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "clsx": "^1.1.1", "email-validator": "^2.0.4", "env-cmd": "^10.1.0", - "leaflet": "^1.7.1", + "leaflet": "^1.8.0", "material-ui-dropzone": "^3.5.0", "react": "^17.0.2", "react-dom": "^17.0.2", @@ -6505,13 +6505,19 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001314", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz", - "integrity": "sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "version": "1.0.30001387", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001387.tgz", + "integrity": "sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -11593,9 +11599,9 @@ } }, "node_modules/leaflet": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.7.1.tgz", - "integrity": "sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.8.0.tgz", + "integrity": "sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==" }, "node_modules/leven": { "version": "3.1.0", @@ -21996,9 +22002,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001314", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz", - "integrity": "sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw==" + "version": "1.0.30001387", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001387.tgz", + "integrity": "sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -25739,9 +25745,9 @@ } }, "leaflet": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.7.1.tgz", - "integrity": "sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.8.0.tgz", + "integrity": "sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==" }, "leven": { "version": "3.1.0", diff --git a/package.json b/package.json index c1c5967..11daec5 100644 --- a/package.json +++ b/package.json @@ -4,19 +4,24 @@ "private": true, "dependencies": { "@datadog/browser-logs": "^3.11.0", + "@date-io/date-fns": "1.x", + "@date-io/moment": "1.x", "@emotion/react": "^11.9.0", "@emotion/styled": "^11.8.1", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", + "@material-ui/pickers": "^3.3.10", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^12.1.4", "@testing-library/user-event": "^13.5.0", "axios": "^0.26.1", "clsx": "^1.1.1", + "date-fns": "^2.29.2", "email-validator": "^2.0.4", "env-cmd": "^10.1.0", - "leaflet": "^1.7.1", + "leaflet": "^1.8.0", "material-ui-dropzone": "^3.5.0", + "moment": "^2.29.4", "react": "^17.0.2", "react-dom": "^17.0.2", "react-leaflet": "^3.2.5", @@ -62,7 +67,7 @@ "coverageThreshold": { "global": { "branches": 39, - "functions": 47, + "functions": 45.5, "lines": 50, "statements": 49 } diff --git a/src/components/App/App.test.js b/src/components/App/App.test.js index 1c40617..f5de9f0 100644 --- a/src/components/App/App.test.js +++ b/src/components/App/App.test.js @@ -1,7 +1,6 @@ jest.mock("../Contexts/CarUpdatesContext"); jest.mock("../Contexts/FileUploadContext"); jest.mock("../Contexts/VehicleContext"); -jest.mock("../Contexts/ManifestCreateContext"); jest.mock("../Contexts/ManifestsContext"); jest.mock("../Contexts/UserContext"); jest.mock("../../services/monitoring"); @@ -73,10 +72,6 @@ describe("App", () => { await check("/package-deploy/1", "span.MuiButton-label", "Sign In"); }); - it("Route /package-create unauthenticated", async () => { - await check("/package-create", "span.MuiButton-label", "Sign In"); - }); - it("Route /vehicle-add unauthenticated", async () => { await check("/vehicle-add", "span.MuiButton-label", "Sign In"); }); @@ -146,11 +141,6 @@ describe("App", () => { await check("/package-deploy/1", "h6", "Deploy Test Manifest 1.0"); }); - it("Route /package-create authenticated", async () => { - setToken(TEST_AUTH_OBJECT); - await check("/package-create", "h6", "Create Deployments"); - }); - it("Route /vehicle-add authenticated", async () => { setToken(TEST_AUTH_OBJECT); await check("/vehicle-add", "h6", "Add Vehicle"); diff --git a/src/components/App/__snapshots__/App.test.js.snap b/src/components/App/__snapshots__/App.test.js.snap index b642c4e..e2a4fa3 100644 --- a/src/components/App/__snapshots__/App.test.js.snap +++ b/src/components/App/__snapshots__/App.test.js.snap @@ -350,7 +350,7 @@ exports[`App Route / authenticated 1`] = ` data-testid="mocked-vehicleprovider" >
@@ -380,10 +380,10 @@ exports[`App Route / authenticated 1`] = `
@@ -956,11 +982,17 @@ exports[`App Route /home authenticated 1`] = ` > Leaflet - | © + + + © @@ -1036,1523 +1068,6 @@ exports[`App Route /home unauthenticated 1`] = `
`; -exports[`App Route /package-create authenticated 1`] = ` -
-
-
-
- -
- -
-
-
-
-
-
-
- -
- - -
-
-
- -
- - -
-
-
- -
-