Files
ota-admin-portal/src/utils/roles.test.js
Tristan Timblin df760fa73f CEC-4576: update permission for updateDeploy action (#370)
* CEC-4576: use new UpdateDeploy permission

* update manifest deploy permission
2023-06-27 09:07:43 -04:00

124 lines
3.7 KiB
JavaScript

import {
getGroups,
getProviders,
hasRole,
Permissions,
Providers, Roles
} from "./roles";
import { TEST_EXPECTED_GROUPS, TEST_TOKEN } from "./testing";
describe("Roles Helper", () => {
Roles.MAGNAGROUP = "68273225-9da4-4fa7-aea5-38e16ec471fe"
Providers.MAGNA = "Magna"
it("Check FiskerRead permission", () => {
expect(
hasRole([Roles.CREATE], Permissions.FiskerRead, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.READ], Permissions.FiskerRead, [Providers.FISKER])
).toEqual(true);
});
it("Check FiskerCreate permission", () => {
expect(
hasRole([Roles.CREATE], Permissions.FiskerCreate, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.READ], Permissions.FiskerCreate, [Providers.FISKER])
).toEqual(false);
});
it("Check FiskerDelete permission", () => {
expect(
hasRole([Roles.DELETE], Permissions.FiskerDelete, [Providers.FISKER])
).toEqual(true);
});
it("Check FiskerSupplierAdmin permission", () => {
expect(
hasRole([Roles.APPROVESUPPLIERS], Permissions.FiskerSupplierAdmin, [Providers.FISKER])
).toEqual(true);
});
it("Check FiskerMagnaCertificate permission", () => {
expect(
hasRole([Roles.CERTIFICATES], Permissions.FiskerMagnaCertificate, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.MAGNAGROUP], Permissions.FiskerMagnaCertificate, [Providers.MAGNA])
).toEqual(true);
expect(
hasRole([Roles.MANUFACTURE], Permissions.FiskerMagnaCertificate, [Providers.FISKER_QA])
).toEqual(true);
});
it("Check FiskerTools permission", () => {
expect(
hasRole([Roles.APPROVESUPPLIERS], Permissions.FiskerTools, [Providers.FISKER])
).toEqual(false);
expect(
hasRole([Roles.CERTIFICATES], Permissions.FiskerTools, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.MAGNAGROUP], Permissions.FiskerTools, [Providers.MAGNA])
).toEqual(true);
expect(
hasRole([Roles.MANUFACTURE], Permissions.FiskerTools, [Providers.FISKER_QA])
).toEqual(true);
});
it("Check FiskerUpdateDeploy permission", () => {
expect(
hasRole([Roles.UPDATEDEPLOY], Permissions.FiskerUpdateDeploy, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.UPDATEDEPLOY], Permissions.FiskerUpdateDeploy, [Providers.MAGNA])
).toEqual(false);
});
it("Check Magna permission", () => {
expect(
hasRole([Roles.MAGNAGROUP], Permissions.Magna, [Providers.MAGNA])
).toEqual(true);
expect(
hasRole([Roles.MANUFACTURE], Permissions.Magna, [Providers.FISKER_QA])
).toEqual(true);
});
it("Check FiskerMagnaRead permission", () => {
expect(
hasRole([Roles.CREATE], Permissions.FiskerMagnaRead, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.READ], Permissions.FiskerMagnaRead, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.MAGNAGROUP], Permissions.FiskerMagnaRead, [Providers.MAGNA])
).toEqual(true);
expect(
hasRole([Roles.MANUFACTURE], Permissions.FiskerMagnaRead, [Providers.FISKER_QA])
).toEqual(true);
});
it("Check FiskerMagnaCreate permission", () => {
expect(
hasRole([Roles.CREATE], Permissions.FiskerMagnaCreate, [Providers.FISKER])
).toEqual(true);
expect(
hasRole([Roles.MAGNAGROUP], Permissions.FiskerMagnaCreate, [Providers.MAGNA])
).toEqual(true);
expect(
hasRole([Roles.MANUFACTURE], Permissions.FiskerMagnaCreate, [Providers.FISKER_QA])
).toEqual(true);
});
it("Get groups", () => {
expect(getGroups(TEST_TOKEN)).toEqual(TEST_EXPECTED_GROUPS);
});
it("Get providers", () => {
expect(getProviders(TEST_TOKEN)).toEqual(["AzureAD"]);
});
});