Skip to content

feat: implement WorkspaceCreationBan org role #16686

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Feb 27, 2025
Prev Previous commit
Next Next commit
chore: add storybook story for
  • Loading branch information
jaaydenh committed Feb 26, 2025
commit 5178cbd46452bba7b8e58bdbdaa06b8032c916cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
MockOwnerRole,
MockSiteRoles,
MockUserAdminRole,
MockWorkspaceCreationBanRole,
} from "testHelpers/entities";
import { withDesktopViewport } from "testHelpers/storybook";
import { EditRolesButton } from "./EditRolesButton";
Expand Down Expand Up @@ -41,3 +42,14 @@ export const Loading: Story = {
await userEvent.click(canvas.getByRole("button"));
},
};

export const AdvancedOpen: Story = {
args: {
selectedRoleNames: new Set([MockWorkspaceCreationBanRole.name]),
roles: MockSiteRoles,
},
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
await userEvent.click(canvas.getByRole("button"));
},
};
12 changes: 11 additions & 1 deletion site/src/testHelpers/entities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,15 @@ export const MockAuditorRole: TypesGen.Role = {
organization_id: "",
};

export const MockWorkspaceCreationBanRole: TypesGen.Role = {
name: "organization-workspace-creation-ban",
display_name: "Organization Workspace Creation Ban",
site_permissions: [],
organization_permissions: [],
user_permissions: [],
organization_id: "",
};

export const MockMemberRole: TypesGen.SlimRole = {
name: "member",
display_name: "Member",
Expand Down Expand Up @@ -459,10 +468,11 @@ export function assignableRole(
};
}

export const MockSiteRoles = [MockUserAdminRole, MockAuditorRole];
export const MockSiteRoles = [MockUserAdminRole, MockAuditorRole, MockWorkspaceCreationBanRole];
export const MockAssignableSiteRoles = [
assignableRole(MockUserAdminRole, true),
assignableRole(MockAuditorRole, true),
assignableRole(MockWorkspaceCreationBanRole, true),
];

export const MockMemberPermissions = {
Expand Down