Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: storybook additions and cleanup #14968

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 2 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,52 +29,81 @@ export const Default: Story = {

export const CheckboxIndeterminate: Story = {
args: {
...Default.args,
role: assignableRole(MockRole2WithOrgPermissions, true),
onSubmit: () => null,
isLoading: false,
organizationName: "my-org",
canAssignOrgRole: true,
},
};

export const WithError: Story = {
args: {
role: assignableRole(MockRoleWithOrgPermissions, true),
onSubmit: () => null,
...Default.args,
role: undefined,
error: "this is an error",
},
};

export const WithValidationError: Story = {
args: {
...Default.args,
role: undefined,
error: mockApiError({
message: "A role named new-role already exists.",
validations: [{ field: "name", detail: "Role names must be unique" }],
}),
isLoading: false,
organizationName: "my-org",
canAssignOrgRole: true,
},
play: async ({ canvasElement, step }) => {
const canvas = within(canvasElement);

await step("Enter name", async () => {
const input = canvas.getByLabelText("Name");
await userEvent.type(input, "new-role");
input.blur();
});
},
};

export const CannotEdit: Story = {
export const InvalidCharsError: Story = {
args: {
role: assignableRole(MockRoleWithOrgPermissions, true),
onSubmit: () => null,
error: undefined,
isLoading: false,
organizationName: "my-org",
...Default.args,
role: undefined,
},
play: async ({ canvasElement, step }) => {
const canvas = within(canvasElement);

await step("Enter name", async () => {
const input = canvas.getByLabelText("Name");
await userEvent.type(input, "!~@#@!");
input.blur();
});
},
};

export const CannotEditRoleName: Story = {
args: {
...Default.args,
canAssignOrgRole: false,
},
};

export const ShowAllResources: Story = {
args: {
role: assignableRole(MockRoleWithOrgPermissions, true),
onSubmit: () => null,
error: undefined,
isLoading: false,
organizationName: "my-org",
canAssignOrgRole: true,
...Default.args,
allResources: true,
},
};

export const Loading: Story = {
args: {
...Default.args,
isLoading: true,
},
};

export const ToggleParentCheckbox: Story = {
args: {
...Default.args,
role: undefined,
},
play: async ({ canvasElement }) => {
const user = userEvent.setup();
const canvas = within(canvasElement);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,3 @@ export const HoverOverflowPill: Story = {
await userEvent.hover(canvas.getByTestId("overflow-permissions-pill"));
},
};

export const ShowAllResources: Story = {
args: {
permissions: MockRoleWithOrgPermissions.organization_permissions,
},
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
import { expect, userEvent, within } from "@storybook/test";
import {
MockGroup,
MockGroup2,
Expand Down Expand Up @@ -43,46 +44,47 @@ export const Empty: Story = {
},
};

export const HasError: Story = {
export const Default: Story = {
args: {
groupSyncSettings: MockGroupSyncSettings,
roleSyncSettings: MockRoleSyncSettings,
groups: [MockGroup, MockGroup2],
groupsMap,
organization: MockOrganization,
error: "This is a test error",
error: undefined,
},
};

export const Default: Story = {
export const HasError: Story = {
args: {
groupSyncSettings: MockGroupSyncSettings,
roleSyncSettings: MockRoleSyncSettings,
groups: [MockGroup, MockGroup2],
groupsMap,
organization: MockOrganization,
error: undefined,
...Default.args,
error: "This is a test error",
},
};

export const MissingGroups: Story = {
args: {
...Default.args,
groupSyncSettings: MockGroupSyncSettings2,
roleSyncSettings: MockRoleSyncSettings,
groups: [MockGroup, MockGroup2],
groupsMap,
organization: MockOrganization,
error: undefined,
},
};

export const WithLegacyMapping: Story = {
args: {
...Default.args,
groupSyncSettings: MockLegacyMappingGroupSyncSettings,
roleSyncSettings: MockRoleSyncSettings,
groups: [MockGroup, MockGroup2],
groupsMap,
organization: MockOrganization,
error: undefined,
},
};

export const RolesTab: Story = {
args: {
...Default.args,
},
play: async ({ canvasElement }) => {
const user = userEvent.setup();
const canvas = within(canvasElement);
const rolesTab = await canvas.findByText("Role Sync Settings");
await user.click(rolesTab);
await expect(canvas.findByText("IdP Role")).resolves.toBeVisible();
},
};
Loading