diff --git a/scm-ui/src/permissions/modules/permissions.js b/scm-ui/src/permissions/modules/permissions.js index 71b78e9f6b..666a532d03 100644 --- a/scm-ui/src/permissions/modules/permissions.js +++ b/scm-ui/src/permissions/modules/permissions.js @@ -360,3 +360,11 @@ export function getModifyPermissionFailure( namespace + "/" + name + "/" + permissionname ); } + +export function hasCreatePermission( + state: Object, + namespace: string, + name: string +) { + return state.permissions[namespace + "/" + name].createPermission; +} diff --git a/scm-ui/src/permissions/modules/permissions.test.js b/scm-ui/src/permissions/modules/permissions.test.js index 376c855d21..524e1a1d48 100644 --- a/scm-ui/src/permissions/modules/permissions.test.js +++ b/scm-ui/src/permissions/modules/permissions.test.js @@ -13,6 +13,7 @@ import reducer, { getModifyPermissionFailure, isModifyPermissionPending, createPermission, + hasCreatePermission, MODIFY_PERMISSION_FAILURE, MODIFY_PERMISSION_PENDING, FETCH_PERMISSIONS, @@ -433,4 +434,19 @@ describe("permissions selectors", () => { getModifyPermissionFailure({}, "hitchhiker", "puzzle42", "user_eins") ).toBe(undefined); }); + + it("should return true, when createPermission is true", () => { + const state = { + permissions: { + ["/hitchhiker/puzzle42"]: { + createPermission: true + } + } + }; + expect(hasCreatePermission(state, "hitchhiker", "puzzle42")).toBe(true); + }); + + it("should return false, when createPermission is false", () => { + expect(hasCreatePermission({}, "hitchiker", "puzzle42")).toEqual(false); + }); });