
* Remove react-markdown, render app about section as string * Add modal with permissions - WIP * Extract components * add permissions diff * add mutation * add notification * fix dialog scrolling * Extract messages in permissions dialog * test for useGetAvailableAppPermissions.ts * add test to state * fix enums * add changeset and extract root messages * Update wicked-berries-watch.md * fix linter * fix ts * cr fixes
83 lines
2.4 KiB
TypeScript
83 lines
2.4 KiB
TypeScript
import { getPermissionsDiff } from "@dashboard/apps/components/AppPermissionsDialog/getPermissionsDiff";
|
|
import { PermissionEnum } from "@dashboard/graphql";
|
|
|
|
describe("getPermissionsDiff", () => {
|
|
describe("Correctly resolves added permissions", () => {
|
|
test("From empty to one new", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[],
|
|
[PermissionEnum.HANDLE_CHECKOUTS],
|
|
);
|
|
|
|
expect(added).toEqual([PermissionEnum.HANDLE_CHECKOUTS]);
|
|
expect(removed).toEqual([]);
|
|
});
|
|
|
|
test("From 0 to 3 new", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[],
|
|
[
|
|
PermissionEnum.IMPERSONATE_USER,
|
|
PermissionEnum.HANDLE_PAYMENTS,
|
|
PermissionEnum.MANAGE_APPS,
|
|
],
|
|
);
|
|
|
|
expect(added).toEqual([
|
|
PermissionEnum.IMPERSONATE_USER,
|
|
PermissionEnum.HANDLE_PAYMENTS,
|
|
PermissionEnum.MANAGE_APPS,
|
|
]);
|
|
expect(removed).toEqual([]);
|
|
});
|
|
|
|
test("From 1 to 2 new and 1 existing", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[PermissionEnum.HANDLE_CHECKOUTS],
|
|
[
|
|
PermissionEnum.HANDLE_CHECKOUTS,
|
|
PermissionEnum.HANDLE_PAYMENTS,
|
|
PermissionEnum.MANAGE_APPS,
|
|
],
|
|
);
|
|
|
|
expect(added).toEqual([
|
|
PermissionEnum.HANDLE_PAYMENTS,
|
|
PermissionEnum.MANAGE_APPS,
|
|
]);
|
|
expect(removed).toEqual([]);
|
|
});
|
|
});
|
|
|
|
describe("Correctly resolves removed permissions", () => {
|
|
test("Doesnt remove anything if the same", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[PermissionEnum.HANDLE_CHECKOUTS],
|
|
[PermissionEnum.HANDLE_CHECKOUTS],
|
|
);
|
|
|
|
expect(added).toEqual([]);
|
|
expect(removed).toEqual([]);
|
|
});
|
|
|
|
test("Removes one", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[PermissionEnum.HANDLE_CHECKOUTS],
|
|
[],
|
|
);
|
|
|
|
expect(added).toEqual([]);
|
|
expect(removed).toEqual([PermissionEnum.HANDLE_CHECKOUTS]);
|
|
});
|
|
});
|
|
|
|
test("Removes one and adds ", () => {
|
|
const { added, removed } = getPermissionsDiff(
|
|
[PermissionEnum.HANDLE_CHECKOUTS, PermissionEnum.HANDLE_PAYMENTS],
|
|
[PermissionEnum.HANDLE_CHECKOUTS, PermissionEnum.HANDLE_TAXES],
|
|
);
|
|
|
|
expect(added).toEqual([PermissionEnum.HANDLE_TAXES]);
|
|
expect(removed).toEqual([PermissionEnum.HANDLE_PAYMENTS]);
|
|
});
|
|
});
|