diff --git a/src/components/CANFilter/Add/index.test.jsx b/src/components/CANFilter/Add/index.test.jsx
index 6bd1813..7afca84 100644
--- a/src/components/CANFilter/Add/index.test.jsx
+++ b/src/components/CANFilter/Add/index.test.jsx
@@ -1,3 +1,5 @@
+import {TEST_AUTH_OBJECT_FISKER} from "../../../utils/testing";
+
jest.mock("../../Contexts/CANFiltersContext");
jest.mock("../../Contexts/StatusContext");
jest.mock("../../Contexts/UserContext");
@@ -8,7 +10,6 @@ import { BrowserRouter } from "react-router-dom";
import { CANFiltersProvider } from "../../Contexts/CANFiltersContext";
import { StatusProvider } from "../../Contexts/StatusContext";
import { UserProvider, setToken } from "../../Contexts/UserContext";
-import { TEST_AUTH_OBJECT } from "../../../utils/testing";
import MainForm from "./index";
import addSnapshotSerializer from "../../../utils/snapshot";
@@ -35,7 +36,7 @@ describe("CANFiltersAdd", () => {
});
it("Render", async () => {
- setToken(TEST_AUTH_OBJECT);
+ setToken(TEST_AUTH_OBJECT_FISKER);
const container = await renderCANFiltersAdd();
expect(container).toMatchSnapshot();
});
diff --git a/src/components/CANFilter/Table/__snapshots__/index.test.jsx.snap b/src/components/CANFilter/Table/__snapshots__/index.test.jsx.snap
index 00fb3e3..010dd2a 100644
--- a/src/components/CANFilter/Table/__snapshots__/index.test.jsx.snap
+++ b/src/components/CANFilter/Table/__snapshots__/index.test.jsx.snap
@@ -250,23 +250,6 @@ exports[`CANFiltersTable Render 1`] = `
/>
-
-
-
|
-
-
-
|
-
-
-
diff --git a/src/components/CANFilter/Table/index.jsx b/src/components/CANFilter/Table/index.jsx
index 9068090..5156f0b 100644
--- a/src/components/CANFilter/Table/index.jsx
+++ b/src/components/CANFilter/Table/index.jsx
@@ -1,5 +1,3 @@
-import React, { useEffect, useState } from "react";
-import { Link } from 'react-router-dom';
import {
Grid,
Table,
@@ -12,46 +10,46 @@ import {
} from "@material-ui/core";
import AddCircleIcon from "@material-ui/icons/AddCircle";
import DeleteIcon from "@material-ui/icons/Delete";
-import EditIcon from '@material-ui/icons/Edit';
+import EditIcon from "@material-ui/icons/Edit";
import clsx from "clsx";
+import React, { useEffect, useState } from "react";
+import { Link } from "react-router-dom";
+import { logger } from "../../../services/monitoring";
+import { hasRole, Permissions } from "../../../utils/roles";
+import { trimIfMoreThan } from "../../../utils/strings";
import {
CANFiltersProvider,
useCANFiltersContext,
} from "../../Contexts/CANFiltersContext";
-import TableHeaderSortable from "../../Table/HeaderSortable";
-import {
- useUserContext
-} from "../../Contexts/UserContext"
import { useStatusContext } from "../../Contexts/StatusContext";
-import useStyles from "../../useStyles";
+import { useUserContext } from "../../Contexts/UserContext";
import SearchField from "../../Controls/SearchField";
-import { logger } from "../../../services/monitoring";
-import { Roles, hasRole } from "../../../utils/roles";
-import {useLocalStorage} from "../../useLocalStorage";
-import {trimIfMoreThan} from "../../../utils/strings";
+import TableHeaderSortable from "../../Table/HeaderSortable";
+import { useLocalStorage } from "../../useLocalStorage";
+import useStyles from "../../useStyles";
const tableColumns = [
{
id: "can_id",
- label: "CAN ID"
+ label: "CAN ID",
},
{
id: "interval",
- label: "Interval (ms)"
+ label: "Interval (ms)",
},
{
id: "fleet",
- label: "Fleet"
+ label: "Fleet",
},
{
id: "edge_mask",
- label: "Edge mask"
+ label: "Edge mask",
},
{
id: "",
- label: "Actions"
- }
+ label: "Actions",
+ },
];
const PAGE_SIZE = "CAN_FILTER_TABLE_PAGE_SIZE";
@@ -63,9 +61,16 @@ const MainForm = ({ vin }) => {
const [pageIndex, setPageIndex] = useState(0);
const [orderBy, setOrderBy] = useState("id");
const [order, setOrder] = useState("desc");
- const { getFilters, deleteFilter, filters, totalFilters } = useCANFiltersContext();
+ const { getFilters, deleteFilter, filters, totalFilters } =
+ useCANFiltersContext();
const { setMessage } = useStatusContext();
- const { token: { idToken: { jwtToken: token } }, groups } = useUserContext();
+ const {
+ token: {
+ idToken: { jwtToken: token },
+ },
+ groups,
+ providers,
+ } = useUserContext();
useEffect(() => {
(async () => {
@@ -118,7 +123,7 @@ const MainForm = ({ vin }) => {
const onDelete = async (can_id) => {
try {
await deleteFilter(vin, can_id, token);
- setMessage(`Deleted ${can_id}`)
+ setMessage(`Deleted ${can_id}`);
} catch (e) {
setMessage(e.message);
logger.warn(e.stack);
@@ -126,24 +131,24 @@ const MainForm = ({ vin }) => {
};
const Actions = (row) => {
- if(row.fleet != null) {
- return
+ if (row.fleet != null) {
+ return;
}
let actions = [];
- if (hasRole([Roles.CREATE], groups)) {
+ if (hasRole(groups, Permissions.FiskerCreate, providers)) {
actions.push({
tip: `Update "${row.can_id}"`,
link: `/filter-update?vin=${vin}&can_id=${row.can_id}&interval=${row.interval}`,
- icon:
+ icon:
,
});
}
- if (hasRole([Roles.DELETE], groups)) {
+ if (hasRole(groups, Permissions.FiskerDelete, providers)) {
actions.push({
tip: `Delete "${row.can_id}"`,
id: row.can_id,
- icon:
- })
+ icon:
,
+ });
}
if (actions.length === 0) return ["No actions"];
@@ -177,7 +182,7 @@ const MainForm = ({ vin }) => {
-
+
@@ -196,7 +201,9 @@ const MainForm = ({ vin }) => {
{row.fleet}
- {trimIfMoreThan(row.edge_mask, 15, "...")}
+
+ {trimIfMoreThan(row.edge_mask, 15, "...")}
+
{Actions(row)}
))}
@@ -219,7 +226,7 @@ const MainForm = ({ vin }) => {
-
+