mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
chore: improve variable names of mocked users (#17701)
Many times I got confused when using MockUser and MockUser2 so I just decided to better naming them to MockUserOwner and MockUserMember.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -82,3 +82,5 @@ result
|
|||||||
|
|
||||||
# dlv debug binaries for go tests
|
# dlv debug binaries for go tests
|
||||||
__debug_bin*
|
__debug_bin*
|
||||||
|
|
||||||
|
**/.claude/settings.local.json
|
||||||
|
@ -131,7 +131,7 @@ export const WithQuota: Story = {
|
|||||||
parameters: {
|
parameters: {
|
||||||
queries: [
|
queries: [
|
||||||
{
|
{
|
||||||
key: getWorkspaceQuotaQueryKey(MockUser.username),
|
key: getWorkspaceQuotaQueryKey(MockUserOwner.username),
|
||||||
data: {
|
data: {
|
||||||
credits_consumed: 2,
|
credits_consumed: 2,
|
||||||
budget: 40,
|
budget: 40,
|
||||||
|
@ -4,7 +4,7 @@ import { userEvent, within } from "@storybook/test";
|
|||||||
import {
|
import {
|
||||||
MockOrganization,
|
MockOrganization,
|
||||||
MockOrganization2,
|
MockOrganization2,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { OrganizationAutocomplete } from "./OrganizationAutocomplete";
|
import { OrganizationAutocomplete } from "./OrganizationAutocomplete";
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ type Story = StoryObj<typeof OrganizationAutocomplete>;
|
|||||||
export const ManyOrgs: Story = {
|
export const ManyOrgs: Story = {
|
||||||
parameters: {
|
parameters: {
|
||||||
showOrganizations: true,
|
showOrganizations: true,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
features: ["multiple_organizations"],
|
features: ["multiple_organizations"],
|
||||||
permissions: { viewDeploymentConfig: true },
|
permissions: { viewDeploymentConfig: true },
|
||||||
queries: [
|
queries: [
|
||||||
@ -42,7 +42,7 @@ export const ManyOrgs: Story = {
|
|||||||
export const OneOrg: Story = {
|
export const OneOrg: Story = {
|
||||||
parameters: {
|
parameters: {
|
||||||
showOrganizations: true,
|
showOrganizations: true,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
features: ["multiple_organizations"],
|
features: ["multiple_organizations"],
|
||||||
permissions: { viewDeploymentConfig: true },
|
permissions: { viewDeploymentConfig: true },
|
||||||
queries: [
|
queries: [
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { MockUser } from "testHelpers/entities";
|
import { MockUserOwner } from "testHelpers/entities";
|
||||||
import { UserAutocomplete } from "./UserAutocomplete";
|
import { UserAutocomplete } from "./UserAutocomplete";
|
||||||
|
|
||||||
const meta: Meta<typeof UserAutocomplete> = {
|
const meta: Meta<typeof UserAutocomplete> = {
|
||||||
@ -12,13 +12,13 @@ type Story = StoryObj<typeof UserAutocomplete>;
|
|||||||
|
|
||||||
export const WithLabel: Story = {
|
export const WithLabel: Story = {
|
||||||
args: {
|
args: {
|
||||||
value: MockUser,
|
value: MockUserOwner,
|
||||||
label: "User",
|
label: "User",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const NoLabel: Story = {
|
export const NoLabel: Story = {
|
||||||
args: {
|
args: {
|
||||||
value: MockUser,
|
value: MockUserOwner,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -3,7 +3,7 @@ import { useAuthenticated } from "hooks";
|
|||||||
import { http, HttpResponse } from "msw";
|
import { http, HttpResponse } from "msw";
|
||||||
import type { FC, PropsWithChildren } from "react";
|
import type { FC, PropsWithChildren } from "react";
|
||||||
import { QueryClientProvider } from "react-query";
|
import { QueryClientProvider } from "react-query";
|
||||||
import { MockPermissions, MockUser } from "testHelpers/entities";
|
import { MockPermissions, MockUserOwner } from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
createTestQueryClient,
|
createTestQueryClient,
|
||||||
renderWithAuth,
|
renderWithAuth,
|
||||||
@ -82,7 +82,7 @@ describe("useAuthenticated", () => {
|
|||||||
|
|
||||||
expect(() => {
|
expect(() => {
|
||||||
renderHook(() => useAuthenticated(), {
|
renderHook(() => useAuthenticated(), {
|
||||||
wrapper: createAuthWrapper({ user: MockUser }),
|
wrapper: createAuthWrapper({ user: MockUserOwner }),
|
||||||
});
|
});
|
||||||
}).toThrow("Permissions are not available.");
|
}).toThrow("Permissions are not available.");
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ describe("useAuthenticated", () => {
|
|||||||
expect(() => {
|
expect(() => {
|
||||||
renderHook(() => useAuthenticated(), {
|
renderHook(() => useAuthenticated(), {
|
||||||
wrapper: createAuthWrapper({
|
wrapper: createAuthWrapper({
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
permissions: MockPermissions,
|
permissions: MockPermissions,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
@ -5,8 +5,8 @@ import {
|
|||||||
MockBuildInfo,
|
MockBuildInfo,
|
||||||
MockEntitlements,
|
MockEntitlements,
|
||||||
MockExperiments,
|
MockExperiments,
|
||||||
MockUser,
|
|
||||||
MockUserAppearanceSettings,
|
MockUserAppearanceSettings,
|
||||||
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
DEFAULT_METADATA_KEY,
|
DEFAULT_METADATA_KEY,
|
||||||
@ -38,7 +38,7 @@ const mockDataForTags = {
|
|||||||
"build-info": MockBuildInfo,
|
"build-info": MockBuildInfo,
|
||||||
entitlements: MockEntitlements,
|
entitlements: MockEntitlements,
|
||||||
experiments: MockExperiments,
|
experiments: MockExperiments,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
userAppearance: MockUserAppearanceSettings,
|
userAppearance: MockUserAppearanceSettings,
|
||||||
regions: MockRegions,
|
regions: MockRegions,
|
||||||
} as const satisfies Record<MetadataKey, MetadataValue>;
|
} as const satisfies Record<MetadataKey, MetadataValue>;
|
||||||
@ -97,7 +97,7 @@ const populatedMetadata: RuntimeHtmlMetadata = {
|
|||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
available: true,
|
available: true,
|
||||||
value: MockUser,
|
value: MockUserOwner,
|
||||||
},
|
},
|
||||||
userAppearance: {
|
userAppearance: {
|
||||||
available: true,
|
available: true,
|
||||||
|
@ -6,8 +6,8 @@ import {
|
|||||||
MockPrimaryWorkspaceProxy,
|
MockPrimaryWorkspaceProxy,
|
||||||
MockProxyLatencies,
|
MockProxyLatencies,
|
||||||
MockSupportLinks,
|
MockSupportLinks,
|
||||||
MockUser,
|
MockUserMember,
|
||||||
MockUser2,
|
MockUserOwner,
|
||||||
MockWorkspaceProxies,
|
MockWorkspaceProxies,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { MobileMenu } from "./MobileMenu";
|
import { MobileMenu } from "./MobileMenu";
|
||||||
@ -36,7 +36,7 @@ const meta: Meta<typeof MobileMenu> = {
|
|||||||
proxyLatencies: MockProxyLatencies,
|
proxyLatencies: MockProxyLatencies,
|
||||||
proxies: MockWorkspaceProxies,
|
proxies: MockWorkspaceProxies,
|
||||||
},
|
},
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
supportLinks: MockSupportLinks,
|
supportLinks: MockSupportLinks,
|
||||||
onSignOut: fn(),
|
onSignOut: fn(),
|
||||||
isDefaultOpen: true,
|
isDefaultOpen: true,
|
||||||
@ -63,7 +63,7 @@ export const Admin: Story = {
|
|||||||
|
|
||||||
export const Auditor: Story = {
|
export const Auditor: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: true,
|
canViewAuditLog: true,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
@ -74,7 +74,7 @@ export const Auditor: Story = {
|
|||||||
|
|
||||||
export const OrgAdmin: Story = {
|
export const OrgAdmin: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: true,
|
canViewAuditLog: true,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
@ -85,7 +85,7 @@ export const OrgAdmin: Story = {
|
|||||||
|
|
||||||
export const Member: Story = {
|
export const Member: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: false,
|
canViewAuditLog: false,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { userEvent, within } from "@storybook/test";
|
import { userEvent, within } from "@storybook/test";
|
||||||
import { chromaticWithTablet } from "testHelpers/chromatic";
|
import { chromaticWithTablet } from "testHelpers/chromatic";
|
||||||
import { MockUser, MockUser2 } from "testHelpers/entities";
|
import { MockUserMember, MockUserOwner } from "testHelpers/entities";
|
||||||
import { withDashboardProvider } from "testHelpers/storybook";
|
import { withDashboardProvider } from "testHelpers/storybook";
|
||||||
import { NavbarView } from "./NavbarView";
|
import { NavbarView } from "./NavbarView";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ const meta: Meta<typeof NavbarView> = {
|
|||||||
parameters: { chromatic: chromaticWithTablet, layout: "fullscreen" },
|
parameters: { chromatic: chromaticWithTablet, layout: "fullscreen" },
|
||||||
component: NavbarView,
|
component: NavbarView,
|
||||||
args: {
|
args: {
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
canViewAuditLog: true,
|
canViewAuditLog: true,
|
||||||
canViewDeployment: true,
|
canViewDeployment: true,
|
||||||
canViewHealth: true,
|
canViewHealth: true,
|
||||||
@ -33,7 +33,7 @@ export const ForAdmin: Story = {
|
|||||||
|
|
||||||
export const ForAuditor: Story = {
|
export const ForAuditor: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: true,
|
canViewAuditLog: true,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
@ -49,7 +49,7 @@ export const ForAuditor: Story = {
|
|||||||
|
|
||||||
export const ForOrgAdmin: Story = {
|
export const ForOrgAdmin: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: true,
|
canViewAuditLog: true,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
@ -65,7 +65,7 @@ export const ForOrgAdmin: Story = {
|
|||||||
|
|
||||||
export const ForMember: Story = {
|
export const ForMember: Story = {
|
||||||
args: {
|
args: {
|
||||||
user: MockUser2,
|
user: MockUserMember,
|
||||||
canViewAuditLog: false,
|
canViewAuditLog: false,
|
||||||
canViewDeployment: false,
|
canViewDeployment: false,
|
||||||
canViewHealth: false,
|
canViewHealth: false,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { screen } from "@testing-library/react";
|
import { screen } from "@testing-library/react";
|
||||||
import userEvent from "@testing-library/user-event";
|
import userEvent from "@testing-library/user-event";
|
||||||
import type { ProxyContextValue } from "contexts/ProxyContext";
|
import type { ProxyContextValue } from "contexts/ProxyContext";
|
||||||
import { MockPrimaryWorkspaceProxy, MockUser } from "testHelpers/entities";
|
import { MockPrimaryWorkspaceProxy, MockUserOwner } from "testHelpers/entities";
|
||||||
import { renderWithAuth } from "testHelpers/renderHelpers";
|
import { renderWithAuth } from "testHelpers/renderHelpers";
|
||||||
import { NavbarView } from "./NavbarView";
|
import { NavbarView } from "./NavbarView";
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ describe("NavbarView", () => {
|
|||||||
renderWithAuth(
|
renderWithAuth(
|
||||||
<NavbarView
|
<NavbarView
|
||||||
proxyContextValue={proxyContextValue}
|
proxyContextValue={proxyContextValue}
|
||||||
user={MockUser}
|
user={MockUserOwner}
|
||||||
onSignOut={noop}
|
onSignOut={noop}
|
||||||
canViewDeployment
|
canViewDeployment
|
||||||
canViewOrganizations
|
canViewOrganizations
|
||||||
@ -43,7 +43,7 @@ describe("NavbarView", () => {
|
|||||||
renderWithAuth(
|
renderWithAuth(
|
||||||
<NavbarView
|
<NavbarView
|
||||||
proxyContextValue={proxyContextValue}
|
proxyContextValue={proxyContextValue}
|
||||||
user={MockUser}
|
user={MockUserOwner}
|
||||||
onSignOut={noop}
|
onSignOut={noop}
|
||||||
canViewDeployment
|
canViewDeployment
|
||||||
canViewOrganizations
|
canViewOrganizations
|
||||||
@ -60,7 +60,7 @@ describe("NavbarView", () => {
|
|||||||
renderWithAuth(
|
renderWithAuth(
|
||||||
<NavbarView
|
<NavbarView
|
||||||
proxyContextValue={proxyContextValue}
|
proxyContextValue={proxyContextValue}
|
||||||
user={MockUser}
|
user={MockUserOwner}
|
||||||
onSignOut={noop}
|
onSignOut={noop}
|
||||||
canViewDeployment
|
canViewDeployment
|
||||||
canViewOrganizations
|
canViewOrganizations
|
||||||
@ -78,7 +78,7 @@ describe("NavbarView", () => {
|
|||||||
renderWithAuth(
|
renderWithAuth(
|
||||||
<NavbarView
|
<NavbarView
|
||||||
proxyContextValue={proxyContextValue}
|
proxyContextValue={proxyContextValue}
|
||||||
user={MockUser}
|
user={MockUserOwner}
|
||||||
onSignOut={noop}
|
onSignOut={noop}
|
||||||
canViewDeployment
|
canViewDeployment
|
||||||
canViewOrganizations
|
canViewOrganizations
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
MockAuthMethodsAll,
|
MockAuthMethodsAll,
|
||||||
MockPermissions,
|
MockPermissions,
|
||||||
MockProxyLatencies,
|
MockProxyLatencies,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspaceProxies,
|
MockWorkspaceProxies,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { withDesktopViewport } from "testHelpers/storybook";
|
import { withDesktopViewport } from "testHelpers/storybook";
|
||||||
@ -41,7 +41,7 @@ const meta: Meta<typeof ProxyMenu> = {
|
|||||||
],
|
],
|
||||||
parameters: {
|
parameters: {
|
||||||
queries: [
|
queries: [
|
||||||
{ key: ["me"], data: MockUser },
|
{ key: ["me"], data: MockUserOwner },
|
||||||
{ key: ["authMethods"], data: MockAuthMethodsAll },
|
{ key: ["authMethods"], data: MockAuthMethodsAll },
|
||||||
{ key: ["hasFirstUser"], data: true },
|
{ key: ["hasFirstUser"], data: true },
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { expect, screen, userEvent, waitFor, within } from "@storybook/test";
|
import { expect, screen, userEvent, waitFor, within } from "@storybook/test";
|
||||||
import { MockBuildInfo, MockUser } from "testHelpers/entities";
|
import { MockBuildInfo, MockUserOwner } from "testHelpers/entities";
|
||||||
import { withDashboardProvider } from "testHelpers/storybook";
|
import { withDashboardProvider } from "testHelpers/storybook";
|
||||||
import { UserDropdown } from "./UserDropdown";
|
import { UserDropdown } from "./UserDropdown";
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ const meta: Meta<typeof UserDropdown> = {
|
|||||||
title: "modules/dashboard/UserDropdown",
|
title: "modules/dashboard/UserDropdown",
|
||||||
component: UserDropdown,
|
component: UserDropdown,
|
||||||
args: {
|
args: {
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
buildInfo: MockBuildInfo,
|
buildInfo: MockBuildInfo,
|
||||||
supportLinks: [
|
supportLinks: [
|
||||||
{ icon: "docs", name: "Documentation", target: "" },
|
{ icon: "docs", name: "Documentation", target: "" },
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { screen } from "@testing-library/react";
|
import { screen } from "@testing-library/react";
|
||||||
import { Popover } from "components/deprecated/Popover/Popover";
|
import { Popover } from "components/deprecated/Popover/Popover";
|
||||||
import { MockUser } from "testHelpers/entities";
|
import { MockUserOwner } from "testHelpers/entities";
|
||||||
import { render, waitForLoaderToBeRemoved } from "testHelpers/renderHelpers";
|
import { render, waitForLoaderToBeRemoved } from "testHelpers/renderHelpers";
|
||||||
import { Language, UserDropdownContent } from "./UserDropdownContent";
|
import { Language, UserDropdownContent } from "./UserDropdownContent";
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ describe("UserDropdownContent", () => {
|
|||||||
it("has the correct link for the account item", async () => {
|
it("has the correct link for the account item", async () => {
|
||||||
render(
|
render(
|
||||||
<Popover>
|
<Popover>
|
||||||
<UserDropdownContent user={MockUser} onSignOut={jest.fn()} />
|
<UserDropdownContent user={MockUserOwner} onSignOut={jest.fn()} />
|
||||||
</Popover>,
|
</Popover>,
|
||||||
);
|
);
|
||||||
await waitForLoaderToBeRemoved();
|
await waitForLoaderToBeRemoved();
|
||||||
@ -25,7 +25,7 @@ describe("UserDropdownContent", () => {
|
|||||||
const onSignOut = jest.fn();
|
const onSignOut = jest.fn();
|
||||||
render(
|
render(
|
||||||
<Popover>
|
<Popover>
|
||||||
<UserDropdownContent user={MockUser} onSignOut={onSignOut} />
|
<UserDropdownContent user={MockUserOwner} onSignOut={onSignOut} />
|
||||||
</Popover>,
|
</Popover>,
|
||||||
);
|
);
|
||||||
await waitForLoaderToBeRemoved();
|
await waitForLoaderToBeRemoved();
|
||||||
|
@ -13,7 +13,7 @@ import {
|
|||||||
MockAuditLogRequestPasswordReset,
|
MockAuditLogRequestPasswordReset,
|
||||||
MockAuditLogWithDeletedResource,
|
MockAuditLogWithDeletedResource,
|
||||||
MockAuditLogWithWorkspaceBuild,
|
MockAuditLogWithWorkspaceBuild,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { AuditLogRow } from "./AuditLogRow";
|
import { AuditLogRow } from "./AuditLogRow";
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ export const NoUserAgent: Story = {
|
|||||||
description: "{user} deleted workspace {target}",
|
description: "{user} deleted workspace {target}",
|
||||||
resource_link: "/@jon/yeee/builds/35",
|
resource_link: "/@jon/yeee/builds/35",
|
||||||
is_deleted: false,
|
is_deleted: false,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ import {
|
|||||||
MockAuditLog,
|
MockAuditLog,
|
||||||
MockAuditLog2,
|
MockAuditLog2,
|
||||||
MockAuditLog3,
|
MockAuditLog3,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { AuditPageView } from "./AuditPageView";
|
import { AuditPageView } from "./AuditPageView";
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ type FilterProps = ComponentProps<typeof AuditPageView>["filterProps"];
|
|||||||
const defaultFilterProps = getDefaultFilterProps<FilterProps>({
|
const defaultFilterProps = getDefaultFilterProps<FilterProps>({
|
||||||
query: "owner:me",
|
query: "owner:me",
|
||||||
values: {
|
values: {
|
||||||
username: MockUser.username,
|
username: MockUserOwner.username,
|
||||||
action: undefined,
|
action: undefined,
|
||||||
resource_type: undefined,
|
resource_type: undefined,
|
||||||
organization: undefined,
|
organization: undefined,
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
MockTemplateVersionParameter1,
|
MockTemplateVersionParameter1,
|
||||||
MockTemplateVersionParameter2,
|
MockTemplateVersionParameter2,
|
||||||
MockTemplateVersionParameter3,
|
MockTemplateVersionParameter3,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceQuota,
|
MockWorkspaceQuota,
|
||||||
MockWorkspaceRequest,
|
MockWorkspaceRequest,
|
||||||
@ -36,7 +36,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
it("succeeds with default owner", async () => {
|
it("succeeds with default owner", async () => {
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getUsers")
|
.spyOn(API, "getUsers")
|
||||||
.mockResolvedValueOnce({ users: [MockUser], count: 1 });
|
.mockResolvedValueOnce({ users: [MockUserOwner], count: 1 });
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getWorkspaceQuota")
|
.spyOn(API, "getWorkspaceQuota")
|
||||||
.mockResolvedValueOnce(MockWorkspaceQuota);
|
.mockResolvedValueOnce(MockWorkspaceQuota);
|
||||||
@ -59,7 +59,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
|
|
||||||
await waitFor(() =>
|
await waitFor(() =>
|
||||||
expect(API.createWorkspace).toBeCalledWith(
|
expect(API.createWorkspace).toBeCalledWith(
|
||||||
MockUser.id,
|
MockUserOwner.id,
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
...MockWorkspaceRichParametersRequest,
|
...MockWorkspaceRichParametersRequest,
|
||||||
}),
|
}),
|
||||||
@ -186,7 +186,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
.mockResolvedValueOnce(MockWorkspaceQuota);
|
.mockResolvedValueOnce(MockWorkspaceQuota);
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getUsers")
|
.spyOn(API, "getUsers")
|
||||||
.mockResolvedValueOnce({ users: [MockUser], count: 1 });
|
.mockResolvedValueOnce({ users: [MockUserOwner], count: 1 });
|
||||||
jest.spyOn(API, "createWorkspace").mockResolvedValueOnce(MockWorkspace);
|
jest.spyOn(API, "createWorkspace").mockResolvedValueOnce(MockWorkspace);
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getTemplateVersionExternalAuth")
|
.spyOn(API, "getTemplateVersionExternalAuth")
|
||||||
@ -219,7 +219,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
|
|
||||||
await waitFor(() =>
|
await waitFor(() =>
|
||||||
expect(API.createWorkspace).toBeCalledWith(
|
expect(API.createWorkspace).toBeCalledWith(
|
||||||
MockUser.id,
|
MockUserOwner.id,
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
...MockWorkspaceRequest,
|
...MockWorkspaceRequest,
|
||||||
}),
|
}),
|
||||||
@ -233,7 +233,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
.mockResolvedValueOnce(MockWorkspaceQuota);
|
.mockResolvedValueOnce(MockWorkspaceQuota);
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getUsers")
|
.spyOn(API, "getUsers")
|
||||||
.mockResolvedValueOnce({ users: [MockUser], count: 1 });
|
.mockResolvedValueOnce({ users: [MockUserOwner], count: 1 });
|
||||||
jest.spyOn(API, "createWorkspace").mockResolvedValueOnce(MockWorkspace);
|
jest.spyOn(API, "createWorkspace").mockResolvedValueOnce(MockWorkspace);
|
||||||
jest
|
jest
|
||||||
.spyOn(API, "getTemplateVersionExternalAuth")
|
.spyOn(API, "getTemplateVersionExternalAuth")
|
||||||
@ -258,7 +258,7 @@ describe("CreateWorkspacePage", () => {
|
|||||||
|
|
||||||
await waitFor(() =>
|
await waitFor(() =>
|
||||||
expect(API.createWorkspace).toBeCalledWith(
|
expect(API.createWorkspace).toBeCalledWith(
|
||||||
MockUser.id,
|
MockUserOwner.id,
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
...MockWorkspaceRequest,
|
...MockWorkspaceRequest,
|
||||||
}),
|
}),
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
MockTemplateVersionParameter1,
|
MockTemplateVersionParameter1,
|
||||||
MockTemplateVersionParameter2,
|
MockTemplateVersionParameter2,
|
||||||
MockTemplateVersionParameter3,
|
MockTemplateVersionParameter3,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
mockApiError,
|
mockApiError,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { CreateWorkspacePageView } from "./CreateWorkspacePageView";
|
import { CreateWorkspacePageView } from "./CreateWorkspacePageView";
|
||||||
@ -19,7 +19,7 @@ const meta: Meta<typeof CreateWorkspacePageView> = {
|
|||||||
component: CreateWorkspacePageView,
|
component: CreateWorkspacePageView,
|
||||||
args: {
|
args: {
|
||||||
defaultName: "",
|
defaultName: "",
|
||||||
defaultOwner: MockUser,
|
defaultOwner: MockUserOwner,
|
||||||
autofillParameters: [],
|
autofillParameters: [],
|
||||||
template: MockTemplate,
|
template: MockTemplate,
|
||||||
parameters: [],
|
parameters: [],
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { DetailedError } from "api/errors";
|
import { DetailedError } from "api/errors";
|
||||||
import { chromatic } from "testHelpers/chromatic";
|
import { chromatic } from "testHelpers/chromatic";
|
||||||
import { MockTemplate, MockUser } from "testHelpers/entities";
|
import { MockTemplate, MockUserOwner } from "testHelpers/entities";
|
||||||
import { CreateWorkspacePageViewExperimental } from "./CreateWorkspacePageViewExperimental";
|
import { CreateWorkspacePageViewExperimental } from "./CreateWorkspacePageViewExperimental";
|
||||||
|
|
||||||
const meta: Meta<typeof CreateWorkspacePageViewExperimental> = {
|
const meta: Meta<typeof CreateWorkspacePageViewExperimental> = {
|
||||||
@ -12,7 +12,7 @@ const meta: Meta<typeof CreateWorkspacePageViewExperimental> = {
|
|||||||
autofillParameters: [],
|
autofillParameters: [],
|
||||||
diagnostics: [],
|
diagnostics: [],
|
||||||
defaultName: "",
|
defaultName: "",
|
||||||
defaultOwner: MockUser,
|
defaultOwner: MockUserOwner,
|
||||||
externalAuth: [],
|
externalAuth: [],
|
||||||
externalAuthPollingState: "idle",
|
externalAuthPollingState: "idle",
|
||||||
hasAllRequiredExternalAuth: true,
|
hasAllRequiredExternalAuth: true,
|
||||||
|
@ -7,7 +7,7 @@ import type { DeploymentValues, SerpentOption } from "api/typesGenerated";
|
|||||||
import {
|
import {
|
||||||
MockNotificationMethodsResponse,
|
MockNotificationMethodsResponse,
|
||||||
MockNotificationTemplates,
|
MockNotificationTemplates,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
withAuthProvider,
|
withAuthProvider,
|
||||||
@ -193,7 +193,7 @@ export const baseMeta = {
|
|||||||
data: MockNotificationMethodsResponse,
|
data: MockNotificationMethodsResponse,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
permissions: { viewDeploymentConfig: true },
|
permissions: { viewDeploymentConfig: true },
|
||||||
deploymentOptions: mockNotificationsDeploymentOptions,
|
deploymentOptions: mockNotificationsDeploymentOptions,
|
||||||
deploymentValues: {
|
deploymentValues: {
|
||||||
|
@ -7,7 +7,7 @@ import {
|
|||||||
MockOrganization,
|
MockOrganization,
|
||||||
MockOrganizationAuditorRole,
|
MockOrganizationAuditorRole,
|
||||||
MockOrganizationPermissions,
|
MockOrganizationPermissions,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
renderWithOrganizationSettingsLayout,
|
renderWithOrganizationSettingsLayout,
|
||||||
@ -102,11 +102,11 @@ describe("OrganizationMembersPage", () => {
|
|||||||
it("updates the roles", async () => {
|
it("updates the roles", async () => {
|
||||||
server.use(
|
server.use(
|
||||||
http.put(
|
http.put(
|
||||||
`/api/v2/organizations/:organizationId/members/${MockUser.id}/roles`,
|
`/api/v2/organizations/:organizationId/members/${MockUserOwner.id}/roles`,
|
||||||
async () => {
|
async () => {
|
||||||
return HttpResponse.json({
|
return HttpResponse.json({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
roles: [...MockUser.roles, MockOrganizationAuditorRole],
|
roles: [...MockUserOwner.roles, MockOrganizationAuditorRole],
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@ -122,7 +122,7 @@ describe("OrganizationMembersPage", () => {
|
|||||||
it("shows an error message", async () => {
|
it("shows an error message", async () => {
|
||||||
server.use(
|
server.use(
|
||||||
http.put(
|
http.put(
|
||||||
`/api/v2/organizations/:organizationId/members/${MockUser.id}/roles`,
|
`/api/v2/organizations/:organizationId/members/${MockUserOwner.id}/roles`,
|
||||||
() => {
|
() => {
|
||||||
return HttpResponse.json(
|
return HttpResponse.json(
|
||||||
{ message: "Error on updating the user roles." },
|
{ message: "Error on updating the user roles." },
|
||||||
|
@ -4,7 +4,7 @@ import type { UsePaginatedQueryResult } from "hooks/usePaginatedQuery";
|
|||||||
import {
|
import {
|
||||||
MockOrganizationMember,
|
MockOrganizationMember,
|
||||||
MockOrganizationMember2,
|
MockOrganizationMember2,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { OrganizationMembersPageView } from "./OrganizationMembersPageView";
|
import { OrganizationMembersPageView } from "./OrganizationMembersPageView";
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ const meta: Meta<typeof OrganizationMembersPageView> = {
|
|||||||
isAddingMember: false,
|
isAddingMember: false,
|
||||||
isUpdatingMemberRoles: false,
|
isUpdatingMemberRoles: false,
|
||||||
canViewMembers: true,
|
canViewMembers: true,
|
||||||
me: MockUser,
|
me: MockUserOwner,
|
||||||
members: [
|
members: [
|
||||||
{ ...MockOrganizationMember, groups: [] },
|
{ ...MockOrganizationMember, groups: [] },
|
||||||
{ ...MockOrganizationMember2, groups: [] },
|
{ ...MockOrganizationMember2, groups: [] },
|
||||||
|
@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event";
|
|||||||
import type { Response, User } from "api/typesGenerated";
|
import type { Response, User } from "api/typesGenerated";
|
||||||
import { http, HttpResponse } from "msw";
|
import { http, HttpResponse } from "msw";
|
||||||
import { createMemoryRouter } from "react-router-dom";
|
import { createMemoryRouter } from "react-router-dom";
|
||||||
import { MockBuildInfo, MockUser } from "testHelpers/entities";
|
import { MockBuildInfo, MockUserOwner } from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
renderWithRouter,
|
renderWithRouter,
|
||||||
waitForLoaderToBeRemoved,
|
waitForLoaderToBeRemoved,
|
||||||
@ -83,7 +83,7 @@ describe("Setup Page", () => {
|
|||||||
{ status: 401 },
|
{ status: 401 },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return HttpResponse.json(MockUser);
|
return HttpResponse.json(MockUserOwner);
|
||||||
}),
|
}),
|
||||||
http.get<never, null, User | Response>(
|
http.get<never, null, User | Response>(
|
||||||
"/api/v2/users/first",
|
"/api/v2/users/first",
|
||||||
|
@ -17,8 +17,8 @@ import {
|
|||||||
MockDeploymentConfig,
|
MockDeploymentConfig,
|
||||||
MockEntitlements,
|
MockEntitlements,
|
||||||
MockExperiments,
|
MockExperiments,
|
||||||
MockUser,
|
|
||||||
MockUserAppearanceSettings,
|
MockUserAppearanceSettings,
|
||||||
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceAgent,
|
MockWorkspaceAgent,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
@ -66,7 +66,7 @@ const meta = {
|
|||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
queries: [
|
queries: [
|
||||||
{ key: ["me"], data: MockUser },
|
{ key: ["me"], data: MockUserOwner },
|
||||||
{ key: ["authMethods"], data: MockAuthMethodsAll },
|
{ key: ["authMethods"], data: MockAuthMethodsAll },
|
||||||
{ key: ["hasFirstUser"], data: true },
|
{ key: ["hasFirstUser"], data: true },
|
||||||
{ key: ["buildInfo"], data: MockBuildInfo },
|
{ key: ["buildInfo"], data: MockBuildInfo },
|
||||||
|
@ -4,7 +4,7 @@ import { API } from "api/api";
|
|||||||
import WS from "jest-websocket-mock";
|
import WS from "jest-websocket-mock";
|
||||||
import { http, HttpResponse } from "msw";
|
import { http, HttpResponse } from "msw";
|
||||||
import {
|
import {
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceAgent,
|
MockWorkspaceAgent,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
@ -13,7 +13,7 @@ import { server } from "testHelpers/server";
|
|||||||
import TerminalPage, { Language } from "./TerminalPage";
|
import TerminalPage, { Language } from "./TerminalPage";
|
||||||
|
|
||||||
const renderTerminal = async (
|
const renderTerminal = async (
|
||||||
route = `/${MockUser.username}/${MockWorkspace.name}/terminal`,
|
route = `/${MockUserOwner.username}/${MockWorkspace.name}/terminal`,
|
||||||
) => {
|
) => {
|
||||||
const utils = renderWithAuth(<TerminalPage />, {
|
const utils = renderWithAuth(<TerminalPage />, {
|
||||||
route,
|
route,
|
||||||
@ -62,11 +62,11 @@ describe("TerminalPage", () => {
|
|||||||
`ws://localhost/api/v2/workspaceagents/${MockWorkspaceAgent.id}/pty`,
|
`ws://localhost/api/v2/workspaceagents/${MockWorkspaceAgent.id}/pty`,
|
||||||
);
|
);
|
||||||
await renderTerminal(
|
await renderTerminal(
|
||||||
`/${MockUser.username}/${MockWorkspace.name}/terminal`,
|
`/${MockUserOwner.username}/${MockWorkspace.name}/terminal`,
|
||||||
);
|
);
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(API.getWorkspaceByOwnerAndName).toHaveBeenCalledWith(
|
expect(API.getWorkspaceByOwnerAndName).toHaveBeenCalledWith(
|
||||||
MockUser.username,
|
MockUserOwner.username,
|
||||||
MockWorkspace.name,
|
MockWorkspace.name,
|
||||||
{ include_deleted: true },
|
{ include_deleted: true },
|
||||||
);
|
);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { screen } from "@testing-library/react";
|
import { screen } from "@testing-library/react";
|
||||||
import type { UpdateUserProfileRequest } from "api/typesGenerated";
|
import type { UpdateUserProfileRequest } from "api/typesGenerated";
|
||||||
import { MockUser2 } from "testHelpers/entities";
|
import { MockUserMember } from "testHelpers/entities";
|
||||||
import { render } from "testHelpers/renderHelpers";
|
import { render } from "testHelpers/renderHelpers";
|
||||||
import { AccountForm } from "./AccountForm";
|
import { AccountForm } from "./AccountForm";
|
||||||
|
|
||||||
@ -12,15 +12,15 @@ describe("AccountForm", () => {
|
|||||||
it("allows updating username", async () => {
|
it("allows updating username", async () => {
|
||||||
// Given
|
// Given
|
||||||
const mockInitialValues: UpdateUserProfileRequest = {
|
const mockInitialValues: UpdateUserProfileRequest = {
|
||||||
username: MockUser2.username,
|
username: MockUserMember.username,
|
||||||
name: MockUser2.name,
|
name: MockUserMember.name,
|
||||||
};
|
};
|
||||||
|
|
||||||
// When
|
// When
|
||||||
render(
|
render(
|
||||||
<AccountForm
|
<AccountForm
|
||||||
editable
|
editable
|
||||||
email={MockUser2.email}
|
email={MockUserMember.email}
|
||||||
initialValues={mockInitialValues}
|
initialValues={mockInitialValues}
|
||||||
isLoading={false}
|
isLoading={false}
|
||||||
onSubmit={() => {
|
onSubmit={() => {
|
||||||
@ -43,15 +43,15 @@ describe("AccountForm", () => {
|
|||||||
it("does not allow updating username", async () => {
|
it("does not allow updating username", async () => {
|
||||||
// Given
|
// Given
|
||||||
const mockInitialValues: UpdateUserProfileRequest = {
|
const mockInitialValues: UpdateUserProfileRequest = {
|
||||||
username: MockUser2.username,
|
username: MockUserMember.username,
|
||||||
name: MockUser2.name,
|
name: MockUserMember.name,
|
||||||
};
|
};
|
||||||
|
|
||||||
// When
|
// When
|
||||||
render(
|
render(
|
||||||
<AccountForm
|
<AccountForm
|
||||||
editable={false}
|
editable={false}
|
||||||
email={MockUser2.email}
|
email={MockUserMember.email}
|
||||||
initialValues={mockInitialValues}
|
initialValues={mockInitialValues}
|
||||||
isLoading={false}
|
isLoading={false}
|
||||||
onSubmit={() => {
|
onSubmit={() => {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import {
|
import {
|
||||||
MockGroup as MockGroup1,
|
MockGroup as MockGroup1,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
mockApiError,
|
mockApiError,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { withDashboardProvider } from "testHelpers/storybook";
|
import { withDashboardProvider } from "testHelpers/storybook";
|
||||||
@ -11,7 +11,7 @@ const MockGroup2 = {
|
|||||||
...MockGroup1,
|
...MockGroup1,
|
||||||
avatar_url: "",
|
avatar_url: "",
|
||||||
display_name: "Goofy Goobers",
|
display_name: "Goofy Goobers",
|
||||||
members: [MockUser],
|
members: [MockUserOwner],
|
||||||
};
|
};
|
||||||
|
|
||||||
const mockError = mockApiError({
|
const mockError = mockApiError({
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { screen } from "@testing-library/react";
|
import { screen } from "@testing-library/react";
|
||||||
import userEvent from "@testing-library/user-event";
|
import userEvent from "@testing-library/user-event";
|
||||||
import { API } from "api/api";
|
import { API } from "api/api";
|
||||||
import { MockUser } from "testHelpers/entities";
|
import { MockUserOwner } from "testHelpers/entities";
|
||||||
import { renderWithAuth } from "testHelpers/renderHelpers";
|
import { renderWithAuth } from "testHelpers/renderHelpers";
|
||||||
import AppearancePage from "./AppearancePage";
|
import AppearancePage from "./AppearancePage";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ describe("appearance page", () => {
|
|||||||
renderWithAuth(<AppearancePage />);
|
renderWithAuth(<AppearancePage />);
|
||||||
|
|
||||||
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
theme_preference: "dark",
|
theme_preference: "dark",
|
||||||
terminal_font: "fira-code",
|
terminal_font: "fira-code",
|
||||||
});
|
});
|
||||||
@ -26,7 +26,7 @@ describe("appearance page", () => {
|
|||||||
renderWithAuth(<AppearancePage />);
|
renderWithAuth(<AppearancePage />);
|
||||||
|
|
||||||
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
terminal_font: "ibm-plex-mono",
|
terminal_font: "ibm-plex-mono",
|
||||||
theme_preference: "light",
|
theme_preference: "light",
|
||||||
});
|
});
|
||||||
@ -46,7 +46,7 @@ describe("appearance page", () => {
|
|||||||
renderWithAuth(<AppearancePage />);
|
renderWithAuth(<AppearancePage />);
|
||||||
|
|
||||||
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
terminal_font: "fira-code",
|
terminal_font: "fira-code",
|
||||||
theme_preference: "dark",
|
theme_preference: "dark",
|
||||||
});
|
});
|
||||||
@ -69,12 +69,12 @@ describe("appearance page", () => {
|
|||||||
jest
|
jest
|
||||||
.spyOn(API, "updateAppearanceSettings")
|
.spyOn(API, "updateAppearanceSettings")
|
||||||
.mockResolvedValueOnce({
|
.mockResolvedValueOnce({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
terminal_font: "fira-code",
|
terminal_font: "fira-code",
|
||||||
theme_preference: "dark",
|
theme_preference: "dark",
|
||||||
})
|
})
|
||||||
.mockResolvedValueOnce({
|
.mockResolvedValueOnce({
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
terminal_font: "ibm-plex-mono",
|
terminal_font: "ibm-plex-mono",
|
||||||
theme_preference: "dark",
|
theme_preference: "dark",
|
||||||
});
|
});
|
||||||
|
@ -11,7 +11,7 @@ import {
|
|||||||
MockNotificationMethodsResponse,
|
MockNotificationMethodsResponse,
|
||||||
MockNotificationPreferences,
|
MockNotificationPreferences,
|
||||||
MockNotificationTemplates,
|
MockNotificationTemplates,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
withAuthProvider,
|
withAuthProvider,
|
||||||
@ -27,7 +27,7 @@ const meta = {
|
|||||||
experiments: ["notifications"],
|
experiments: ["notifications"],
|
||||||
queries: [
|
queries: [
|
||||||
{
|
{
|
||||||
key: userNotificationPreferencesKey(MockUser.id),
|
key: userNotificationPreferencesKey(MockUserOwner.id),
|
||||||
data: MockNotificationPreferences,
|
data: MockNotificationPreferences,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -39,7 +39,7 @@ const meta = {
|
|||||||
data: MockNotificationMethodsResponse,
|
data: MockNotificationMethodsResponse,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
permissions: { viewDeploymentConfig: true },
|
permissions: { viewDeploymentConfig: true },
|
||||||
},
|
},
|
||||||
decorators: [withGlobalSnackbar, withAuthProvider, withDashboardProvider],
|
decorators: [withGlobalSnackbar, withAuthProvider, withDashboardProvider],
|
||||||
|
@ -2,7 +2,7 @@ import { fireEvent, screen, waitFor, within } from "@testing-library/react";
|
|||||||
import userEvent from "@testing-library/user-event";
|
import userEvent from "@testing-library/user-event";
|
||||||
import type { UpdateUserQuietHoursScheduleRequest } from "api/typesGenerated";
|
import type { UpdateUserQuietHoursScheduleRequest } from "api/typesGenerated";
|
||||||
import { http, HttpResponse } from "msw";
|
import { http, HttpResponse } from "msw";
|
||||||
import { MockUser } from "testHelpers/entities";
|
import { MockUserOwner } from "testHelpers/entities";
|
||||||
import { renderWithAuth } from "testHelpers/renderHelpers";
|
import { renderWithAuth } from "testHelpers/renderHelpers";
|
||||||
import { server } from "testHelpers/server";
|
import { server } from "testHelpers/server";
|
||||||
import SchedulePage from "./SchedulePage";
|
import SchedulePage from "./SchedulePage";
|
||||||
@ -55,7 +55,7 @@ const cronTests = [
|
|||||||
describe("SchedulePage", () => {
|
describe("SchedulePage", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
server.use(
|
server.use(
|
||||||
http.get(`/api/v2/users/${MockUser.id}/quiet-hours`, () => {
|
http.get(`/api/v2/users/${MockUserOwner.id}/quiet-hours`, () => {
|
||||||
return HttpResponse.json(defaultQuietHoursResponse);
|
return HttpResponse.json(defaultQuietHoursResponse);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
@ -67,7 +67,7 @@ describe("SchedulePage", () => {
|
|||||||
async (test) => {
|
async (test) => {
|
||||||
server.use(
|
server.use(
|
||||||
http.put(
|
http.put(
|
||||||
`/api/v2/users/${MockUser.id}/quiet-hours`,
|
`/api/v2/users/${MockUserOwner.id}/quiet-hours`,
|
||||||
async ({ request }) => {
|
async ({ request }) => {
|
||||||
const data =
|
const data =
|
||||||
(await request.json()) as UpdateUserQuietHoursScheduleRequest;
|
(await request.json()) as UpdateUserQuietHoursScheduleRequest;
|
||||||
@ -98,7 +98,7 @@ describe("SchedulePage", () => {
|
|||||||
describe("when it is an unknown error", () => {
|
describe("when it is an unknown error", () => {
|
||||||
it("shows a generic error message", async () => {
|
it("shows a generic error message", async () => {
|
||||||
server.use(
|
server.use(
|
||||||
http.put(`/api/v2/users/${MockUser.id}/quiet-hours`, () => {
|
http.put(`/api/v2/users/${MockUserOwner.id}/quiet-hours`, () => {
|
||||||
return HttpResponse.json(
|
return HttpResponse.json(
|
||||||
{
|
{
|
||||||
message: "oh no!",
|
message: "oh no!",
|
||||||
@ -120,7 +120,7 @@ describe("SchedulePage", () => {
|
|||||||
describe("when user custom schedule is disabled", () => {
|
describe("when user custom schedule is disabled", () => {
|
||||||
it("shows a warning and disables the form", async () => {
|
it("shows a warning and disables the form", async () => {
|
||||||
server.use(
|
server.use(
|
||||||
http.get(`/api/v2/users/${MockUser.id}/quiet-hours`, () => {
|
http.get(`/api/v2/users/${MockUserOwner.id}/quiet-hours`, () => {
|
||||||
return HttpResponse.json({
|
return HttpResponse.json({
|
||||||
raw_schedule: "CRON_TZ=America/Chicago 0 0 * * *",
|
raw_schedule: "CRON_TZ=America/Chicago 0 0 * * *",
|
||||||
user_can_set: false,
|
user_can_set: false,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { MockUser } from "testHelpers/entities";
|
import { MockUserOwner } from "testHelpers/entities";
|
||||||
import { ResetPasswordDialog } from "./ResetPasswordDialog";
|
import { ResetPasswordDialog } from "./ResetPasswordDialog";
|
||||||
|
|
||||||
const meta: Meta<typeof ResetPasswordDialog> = {
|
const meta: Meta<typeof ResetPasswordDialog> = {
|
||||||
@ -13,7 +13,7 @@ type Story = StoryObj<typeof ResetPasswordDialog>;
|
|||||||
const Example: Story = {
|
const Example: Story = {
|
||||||
args: {
|
args: {
|
||||||
open: true,
|
open: true,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
newPassword: "somerandomstringhere",
|
newPassword: "somerandomstringhere",
|
||||||
onConfirm: () => {},
|
onConfirm: () => {},
|
||||||
onClose: () => {},
|
onClose: () => {},
|
||||||
|
@ -9,7 +9,7 @@ import type { User } from "api/typesGenerated";
|
|||||||
import { MockGroups } from "pages/UsersPage/storybookData/groups";
|
import { MockGroups } from "pages/UsersPage/storybookData/groups";
|
||||||
import { MockRoles } from "pages/UsersPage/storybookData/roles";
|
import { MockRoles } from "pages/UsersPage/storybookData/roles";
|
||||||
import { MockUsers } from "pages/UsersPage/storybookData/users";
|
import { MockUsers } from "pages/UsersPage/storybookData/users";
|
||||||
import { MockAuthMethodsAll, MockUser } from "testHelpers/entities";
|
import { MockAuthMethodsAll, MockUserOwner } from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
withAuthProvider,
|
withAuthProvider,
|
||||||
withDashboardProvider,
|
withDashboardProvider,
|
||||||
@ -59,7 +59,7 @@ const parameters = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
permissions: {
|
permissions: {
|
||||||
createUser: true,
|
createUser: true,
|
||||||
updateUsers: true,
|
updateUsers: true,
|
||||||
|
@ -9,8 +9,8 @@ import type { ComponentProps } from "react";
|
|||||||
import {
|
import {
|
||||||
MockAssignableSiteRoles,
|
MockAssignableSiteRoles,
|
||||||
MockAuthMethodsPasswordOnly,
|
MockAuthMethodsPasswordOnly,
|
||||||
MockUser,
|
MockUserMember,
|
||||||
MockUser2,
|
MockUserOwner,
|
||||||
mockApiError,
|
mockApiError,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { UsersPageView } from "./UsersPageView";
|
import { UsersPageView } from "./UsersPageView";
|
||||||
@ -32,7 +32,7 @@ const meta: Meta<typeof UsersPageView> = {
|
|||||||
component: UsersPageView,
|
component: UsersPageView,
|
||||||
args: {
|
args: {
|
||||||
isNonInitialPage: false,
|
isNonInitialPage: false,
|
||||||
users: [MockUser, MockUser2],
|
users: [MockUserOwner, MockUserMember],
|
||||||
roles: MockAssignableSiteRoles,
|
roles: MockAssignableSiteRoles,
|
||||||
canEditUsers: true,
|
canEditUsers: true,
|
||||||
filterProps: defaultFilterProps,
|
filterProps: defaultFilterProps,
|
||||||
|
@ -6,15 +6,15 @@ import {
|
|||||||
MockGroup,
|
MockGroup,
|
||||||
MockMemberRole,
|
MockMemberRole,
|
||||||
MockTemplateAdminRole,
|
MockTemplateAdminRole,
|
||||||
MockUser,
|
|
||||||
MockUser2,
|
|
||||||
MockUserAdminRole,
|
MockUserAdminRole,
|
||||||
|
MockUserMember,
|
||||||
|
MockUserOwner,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { UsersTable } from "./UsersTable";
|
import { UsersTable } from "./UsersTable";
|
||||||
|
|
||||||
const mockGroupsByUserId = new Map([
|
const mockGroupsByUserId = new Map([
|
||||||
[MockUser.id, [MockGroup]],
|
[MockUserOwner.id, [MockGroup]],
|
||||||
[MockUser2.id, [MockGroup]],
|
[MockUserMember.id, [MockGroup]],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const meta: Meta<typeof UsersTable> = {
|
const meta: Meta<typeof UsersTable> = {
|
||||||
@ -31,7 +31,7 @@ type Story = StoryObj<typeof UsersTable>;
|
|||||||
|
|
||||||
export const Example: Story = {
|
export const Example: Story = {
|
||||||
args: {
|
args: {
|
||||||
users: [MockUser, MockUser2],
|
users: [MockUserOwner, MockUserMember],
|
||||||
roles: MockAssignableSiteRoles,
|
roles: MockAssignableSiteRoles,
|
||||||
canEditUsers: false,
|
canEditUsers: false,
|
||||||
groupsByUserId: mockGroupsByUserId,
|
groupsByUserId: mockGroupsByUserId,
|
||||||
@ -41,10 +41,10 @@ export const Example: Story = {
|
|||||||
export const Editable: Story = {
|
export const Editable: Story = {
|
||||||
args: {
|
args: {
|
||||||
users: [
|
users: [
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockUser2,
|
MockUserMember,
|
||||||
{
|
{
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
username: "John Doe",
|
username: "John Doe",
|
||||||
email: "john.doe@coder.com",
|
email: "john.doe@coder.com",
|
||||||
roles: [
|
roles: [
|
||||||
@ -56,14 +56,14 @@ export const Editable: Story = {
|
|||||||
status: "dormant",
|
status: "dormant",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
username: "Roger Moore",
|
username: "Roger Moore",
|
||||||
email: "roger.moore@coder.com",
|
email: "roger.moore@coder.com",
|
||||||
roles: [],
|
roles: [],
|
||||||
status: "suspended",
|
status: "suspended",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
...MockUser,
|
...MockUserOwner,
|
||||||
username: "OIDC User",
|
username: "OIDC User",
|
||||||
email: "oidc.user@coder.com",
|
email: "oidc.user@coder.com",
|
||||||
roles: [],
|
roles: [],
|
||||||
|
@ -40,7 +40,7 @@ const meta: Meta<typeof Workspace> = {
|
|||||||
data: Mocks.MockListeningPortsResponse,
|
data: Mocks.MockListeningPortsResponse,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user: Mocks.MockUser,
|
user: Mocks.MockUserOwner,
|
||||||
},
|
},
|
||||||
decorators: [
|
decorators: [
|
||||||
withAuthProvider,
|
withAuthProvider,
|
||||||
|
@ -17,7 +17,7 @@ const meta: Meta<typeof WorkspaceActions> = {
|
|||||||
},
|
},
|
||||||
decorators: [withDashboardProvider, withDesktopViewport, withAuthProvider],
|
decorators: [withDashboardProvider, withDesktopViewport, withAuthProvider],
|
||||||
parameters: {
|
parameters: {
|
||||||
user: Mocks.MockUser,
|
user: Mocks.MockUserOwner,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ export const CancelShownForUser: Story = {
|
|||||||
workspace: Mocks.MockStartingWorkspace,
|
workspace: Mocks.MockStartingWorkspace,
|
||||||
},
|
},
|
||||||
parameters: {
|
parameters: {
|
||||||
user: Mocks.MockUser2,
|
user: Mocks.MockUserMember,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ export const CancelHiddenForUser: Story = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
parameters: {
|
parameters: {
|
||||||
user: Mocks.MockUser2,
|
user: Mocks.MockUserMember,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import {
|
|||||||
MockTemplate,
|
MockTemplate,
|
||||||
MockTemplateVersionParameter1,
|
MockTemplateVersionParameter1,
|
||||||
MockTemplateVersionParameter2,
|
MockTemplateVersionParameter2,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceBuild,
|
MockWorkspaceBuild,
|
||||||
MockWorkspaceBuildDelete,
|
MockWorkspaceBuildDelete,
|
||||||
@ -320,7 +320,7 @@ describe("WorkspacePage", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("restart the workspace with one time parameters when having the confirmation dialog", async () => {
|
it("restart the workspace with one time parameters when having the confirmation dialog", async () => {
|
||||||
localStorage.removeItem(`${MockUser.id}_ignoredWarnings`);
|
localStorage.removeItem(`${MockUserOwner.id}_ignoredWarnings`);
|
||||||
jest.spyOn(API, "getWorkspaceParameters").mockResolvedValue({
|
jest.spyOn(API, "getWorkspaceParameters").mockResolvedValue({
|
||||||
templateVersionRichParameters: [
|
templateVersionRichParameters: [
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,7 @@ import {
|
|||||||
MockOrganization,
|
MockOrganization,
|
||||||
MockTemplate,
|
MockTemplate,
|
||||||
MockTemplateVersion,
|
MockTemplateVersion,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import { withAuthProvider, withDashboardProvider } from "testHelpers/storybook";
|
import { withAuthProvider, withDashboardProvider } from "testHelpers/storybook";
|
||||||
@ -41,7 +41,7 @@ const meta: Meta<typeof WorkspaceTopbar> = {
|
|||||||
chromatic: {
|
chromatic: {
|
||||||
diffThreshold: 0.6,
|
diffThreshold: 0.6,
|
||||||
},
|
},
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ export const WithQuotaNoOrgs: Story = {
|
|||||||
{
|
{
|
||||||
key: getWorkspaceQuotaQueryKey(
|
key: getWorkspaceQuotaQueryKey(
|
||||||
MockOrganization.name,
|
MockOrganization.name,
|
||||||
MockUser.username,
|
MockUserOwner.username,
|
||||||
),
|
),
|
||||||
data: {
|
data: {
|
||||||
credits_consumed: 2,
|
credits_consumed: 2,
|
||||||
@ -296,7 +296,7 @@ export const WithQuotaWithOrgs: Story = {
|
|||||||
{
|
{
|
||||||
key: getWorkspaceQuotaQueryKey(
|
key: getWorkspaceQuotaQueryKey(
|
||||||
MockOrganization.name,
|
MockOrganization.name,
|
||||||
MockUser.username,
|
MockUserOwner.username,
|
||||||
),
|
),
|
||||||
data: {
|
data: {
|
||||||
credits_consumed: 2,
|
credits_consumed: 2,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { screen } from "@testing-library/react";
|
import { screen } from "@testing-library/react";
|
||||||
import userEvent from "@testing-library/user-event";
|
import userEvent from "@testing-library/user-event";
|
||||||
import { http, HttpResponse } from "msw";
|
import { http, HttpResponse } from "msw";
|
||||||
import { MockUser, MockWorkspace } from "testHelpers/entities";
|
import { MockUserOwner, MockWorkspace } from "testHelpers/entities";
|
||||||
import { renderWithWorkspaceSettingsLayout } from "testHelpers/renderHelpers";
|
import { renderWithWorkspaceSettingsLayout } from "testHelpers/renderHelpers";
|
||||||
import { server } from "testHelpers/server";
|
import { server } from "testHelpers/server";
|
||||||
import {
|
import {
|
||||||
@ -258,7 +258,7 @@ describe("WorkspaceSchedulePage", () => {
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
||||||
route: `/@${MockUser.username}/${MockWorkspace.name}/schedule`,
|
route: `/@${MockUserOwner.username}/${MockWorkspace.name}/schedule`,
|
||||||
path: "/:username/:workspace/schedule",
|
path: "/:username/:workspace/schedule",
|
||||||
});
|
});
|
||||||
const user = userEvent.setup();
|
const user = userEvent.setup();
|
||||||
@ -279,7 +279,7 @@ describe("WorkspaceSchedulePage", () => {
|
|||||||
describe("autostop change dialog", () => {
|
describe("autostop change dialog", () => {
|
||||||
it("shows if autostop is changed", async () => {
|
it("shows if autostop is changed", async () => {
|
||||||
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
||||||
route: `/@${MockUser.username}/${MockWorkspace.name}/schedule`,
|
route: `/@${MockUserOwner.username}/${MockWorkspace.name}/schedule`,
|
||||||
path: "/:username/:workspace/schedule",
|
path: "/:username/:workspace/schedule",
|
||||||
});
|
});
|
||||||
const user = userEvent.setup();
|
const user = userEvent.setup();
|
||||||
@ -303,7 +303,7 @@ describe("WorkspaceSchedulePage", () => {
|
|||||||
|
|
||||||
it("doesn't show if autostop is not changed", async () => {
|
it("doesn't show if autostop is not changed", async () => {
|
||||||
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
renderWithWorkspaceSettingsLayout(<WorkspaceSchedulePage />, {
|
||||||
route: `/@${MockUser.username}/${MockWorkspace.name}/schedule`,
|
route: `/@${MockUserOwner.username}/${MockWorkspace.name}/schedule`,
|
||||||
path: "/:username/:workspace/schedule",
|
path: "/:username/:workspace/schedule",
|
||||||
extraRoutes: [
|
extraRoutes: [
|
||||||
{ path: "/:username/:workspace", element: <div>Workspace</div> },
|
{ path: "/:username/:workspace", element: <div>Workspace</div> },
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { action } from "@storybook/addon-actions";
|
import { action } from "@storybook/addon-actions";
|
||||||
import type { Meta, StoryObj } from "@storybook/react";
|
import type { Meta, StoryObj } from "@storybook/react";
|
||||||
import { chromatic } from "testHelpers/chromatic";
|
import { chromatic } from "testHelpers/chromatic";
|
||||||
import { MockUser2, MockWorkspace } from "testHelpers/entities";
|
import { MockUserMember, MockWorkspace } from "testHelpers/entities";
|
||||||
import { BatchDeleteConfirmation } from "./BatchDeleteConfirmation";
|
import { BatchDeleteConfirmation } from "./BatchDeleteConfirmation";
|
||||||
|
|
||||||
const meta: Meta<typeof BatchDeleteConfirmation> = {
|
const meta: Meta<typeof BatchDeleteConfirmation> = {
|
||||||
@ -18,15 +18,15 @@ const meta: Meta<typeof BatchDeleteConfirmation> = {
|
|||||||
...MockWorkspace,
|
...MockWorkspace,
|
||||||
name: "Test-Workspace-2",
|
name: "Test-Workspace-2",
|
||||||
last_used_at: "2023-08-16T15:29:10.302441433Z",
|
last_used_at: "2023-08-16T15:29:10.302441433Z",
|
||||||
owner_id: MockUser2.id,
|
owner_id: MockUserMember.id,
|
||||||
owner_name: MockUser2.username,
|
owner_name: MockUserMember.username,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
...MockWorkspace,
|
...MockWorkspace,
|
||||||
name: "Test-Workspace-3",
|
name: "Test-Workspace-3",
|
||||||
last_used_at: "2023-11-16T15:29:10.302441433Z",
|
last_used_at: "2023-11-16T15:29:10.302441433Z",
|
||||||
owner_id: MockUser2.id,
|
owner_id: MockUserMember.id,
|
||||||
owner_name: MockUser2.username,
|
owner_name: MockUserMember.username,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
MockOutdatedWorkspace,
|
MockOutdatedWorkspace,
|
||||||
MockRunningOutdatedWorkspace,
|
MockRunningOutdatedWorkspace,
|
||||||
MockTemplateVersion,
|
MockTemplateVersion,
|
||||||
MockUser2,
|
MockUserMember,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
} from "testHelpers/entities";
|
} from "testHelpers/entities";
|
||||||
import {
|
import {
|
||||||
@ -25,8 +25,8 @@ const workspaces = [
|
|||||||
{
|
{
|
||||||
...MockRunningOutdatedWorkspace,
|
...MockRunningOutdatedWorkspace,
|
||||||
id: "6",
|
id: "6",
|
||||||
owner_id: MockUser2.id,
|
owner_id: MockUserMember.id,
|
||||||
owner_name: MockUser2.username,
|
owner_name: MockUserMember.username,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import {
|
|||||||
MockProxyLatencies,
|
MockProxyLatencies,
|
||||||
MockStoppedWorkspace,
|
MockStoppedWorkspace,
|
||||||
MockTemplate,
|
MockTemplate,
|
||||||
MockUser,
|
MockUserOwner,
|
||||||
MockWorkspace,
|
MockWorkspace,
|
||||||
MockWorkspaceAppStatus,
|
MockWorkspaceAppStatus,
|
||||||
mockApiError,
|
mockApiError,
|
||||||
@ -105,7 +105,7 @@ const defaultFilterProps = getDefaultFilterProps<FilterProps>({
|
|||||||
organizations: MockMenu,
|
organizations: MockMenu,
|
||||||
},
|
},
|
||||||
values: {
|
values: {
|
||||||
owner: MockUser.username,
|
owner: MockUserOwner.username,
|
||||||
template: undefined,
|
template: undefined,
|
||||||
status: undefined,
|
status: undefined,
|
||||||
},
|
},
|
||||||
@ -144,7 +144,7 @@ const meta: Meta<typeof WorkspacesPageView> = {
|
|||||||
data: MockBuildInfo,
|
data: MockBuildInfo,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
},
|
},
|
||||||
decorators: [
|
decorators: [
|
||||||
withAuthProvider,
|
withAuthProvider,
|
||||||
|
@ -484,7 +484,7 @@ export const MockMemberPermissions = {
|
|||||||
viewAuditLog: false,
|
viewAuditLog: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MockUser: TypesGen.User = {
|
export const MockUserOwner: TypesGen.User = {
|
||||||
id: "test-user",
|
id: "test-user",
|
||||||
username: "TestUser",
|
username: "TestUser",
|
||||||
email: "test@coder.com",
|
email: "test@coder.com",
|
||||||
@ -499,12 +499,7 @@ export const MockUser: TypesGen.User = {
|
|||||||
name: "",
|
name: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
const MockUserAdmin: TypesGen.User = {
|
export const MockUserMember: TypesGen.User = {
|
||||||
...MockUser,
|
|
||||||
roles: [MockUserAdminRole],
|
|
||||||
};
|
|
||||||
|
|
||||||
export const MockUser2: TypesGen.User = {
|
|
||||||
id: "test-user-2",
|
id: "test-user-2",
|
||||||
username: "TestUser2",
|
username: "TestUser2",
|
||||||
email: "test2@coder.com",
|
email: "test2@coder.com",
|
||||||
@ -541,28 +536,28 @@ export const MockUserAppearanceSettings: TypesGen.UserAppearanceSettings = {
|
|||||||
|
|
||||||
export const MockOrganizationMember: TypesGen.OrganizationMemberWithUserData = {
|
export const MockOrganizationMember: TypesGen.OrganizationMemberWithUserData = {
|
||||||
organization_id: MockOrganization.id,
|
organization_id: MockOrganization.id,
|
||||||
user_id: MockUser.id,
|
user_id: MockUserOwner.id,
|
||||||
username: MockUser.username,
|
username: MockUserOwner.username,
|
||||||
email: MockUser.email,
|
email: MockUserOwner.email,
|
||||||
created_at: "",
|
created_at: "",
|
||||||
updated_at: "",
|
updated_at: "",
|
||||||
name: MockUser.name,
|
name: MockUserOwner.name,
|
||||||
avatar_url: MockUser.avatar_url,
|
avatar_url: MockUserOwner.avatar_url,
|
||||||
global_roles: MockUser.roles,
|
global_roles: MockUserOwner.roles,
|
||||||
roles: [],
|
roles: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MockOrganizationMember2: TypesGen.OrganizationMemberWithUserData =
|
export const MockOrganizationMember2: TypesGen.OrganizationMemberWithUserData =
|
||||||
{
|
{
|
||||||
organization_id: MockOrganization.id,
|
organization_id: MockOrganization.id,
|
||||||
user_id: MockUser2.id,
|
user_id: MockUserMember.id,
|
||||||
username: MockUser2.username,
|
username: MockUserMember.username,
|
||||||
email: MockUser2.email,
|
email: MockUserMember.email,
|
||||||
created_at: "",
|
created_at: "",
|
||||||
updated_at: "",
|
updated_at: "",
|
||||||
name: MockUser2.name,
|
name: MockUserMember.name,
|
||||||
avatar_url: MockUser2.avatar_url,
|
avatar_url: MockUserMember.avatar_url,
|
||||||
global_roles: MockUser2.roles,
|
global_roles: MockUserMember.roles,
|
||||||
roles: [],
|
roles: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -613,7 +608,7 @@ const MockUserAuthProvisioner: TypesGen.ProvisionerDaemon = {
|
|||||||
...MockProvisioner,
|
...MockProvisioner,
|
||||||
id: "test-user-auth-provisioner",
|
id: "test-user-auth-provisioner",
|
||||||
key_id: MockProvisionerUserAuthKey.id,
|
key_id: MockProvisionerUserAuthKey.id,
|
||||||
name: `${MockUser.name}'s provisioner`,
|
name: `${MockUserOwner.name}'s provisioner`,
|
||||||
tags: { scope: "user" },
|
tags: { scope: "user" },
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -732,7 +727,7 @@ name:Template test
|
|||||||
You can add instructions here
|
You can add instructions here
|
||||||
|
|
||||||
[Some link info](https://coder.com)`,
|
[Some link info](https://coder.com)`,
|
||||||
created_by: MockUser,
|
created_by: MockUserOwner,
|
||||||
archived: false,
|
archived: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -751,7 +746,7 @@ name:Template test 2
|
|||||||
You can add instructions here
|
You can add instructions here
|
||||||
|
|
||||||
[Some link info](https://coder.com)`,
|
[Some link info](https://coder.com)`,
|
||||||
created_by: MockUser,
|
created_by: MockUserOwner,
|
||||||
archived: false,
|
archived: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1246,17 +1241,17 @@ export const MockWorkspaceBuild: TypesGen.WorkspaceBuild = {
|
|||||||
build_number: 1,
|
build_number: 1,
|
||||||
created_at: "2022-05-17T17:39:01.382927298Z",
|
created_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
id: "1",
|
id: "1",
|
||||||
initiator_id: MockUser.id,
|
initiator_id: MockUserOwner.id,
|
||||||
initiator_name: MockUser.username,
|
initiator_name: MockUserOwner.username,
|
||||||
job: MockProvisionerJob,
|
job: MockProvisionerJob,
|
||||||
template_version_id: MockTemplateVersion.id,
|
template_version_id: MockTemplateVersion.id,
|
||||||
template_version_name: MockTemplateVersion.name,
|
template_version_name: MockTemplateVersion.name,
|
||||||
transition: "start",
|
transition: "start",
|
||||||
updated_at: "2022-05-17T17:39:01.382927298Z",
|
updated_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
workspace_name: "test-workspace",
|
workspace_name: "test-workspace",
|
||||||
workspace_owner_id: MockUser.id,
|
workspace_owner_id: MockUserOwner.id,
|
||||||
workspace_owner_name: MockUser.username,
|
workspace_owner_name: MockUserOwner.username,
|
||||||
workspace_owner_avatar_url: MockUser.avatar_url,
|
workspace_owner_avatar_url: MockUserOwner.avatar_url,
|
||||||
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
||||||
deadline: "2022-05-17T23:39:00.00Z",
|
deadline: "2022-05-17T23:39:00.00Z",
|
||||||
reason: "initiator",
|
reason: "initiator",
|
||||||
@ -1274,17 +1269,17 @@ const MockWorkspaceBuildAutostart: TypesGen.WorkspaceBuild = {
|
|||||||
build_number: 1,
|
build_number: 1,
|
||||||
created_at: "2022-05-17T17:39:01.382927298Z",
|
created_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
id: "1",
|
id: "1",
|
||||||
initiator_id: MockUser.id,
|
initiator_id: MockUserOwner.id,
|
||||||
initiator_name: MockUser.username,
|
initiator_name: MockUserOwner.username,
|
||||||
job: MockProvisionerJob,
|
job: MockProvisionerJob,
|
||||||
template_version_id: MockTemplateVersion.id,
|
template_version_id: MockTemplateVersion.id,
|
||||||
template_version_name: MockTemplateVersion.name,
|
template_version_name: MockTemplateVersion.name,
|
||||||
transition: "start",
|
transition: "start",
|
||||||
updated_at: "2022-05-17T17:39:01.382927298Z",
|
updated_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
workspace_name: "test-workspace",
|
workspace_name: "test-workspace",
|
||||||
workspace_owner_id: MockUser.id,
|
workspace_owner_id: MockUserOwner.id,
|
||||||
workspace_owner_name: MockUser.username,
|
workspace_owner_name: MockUserOwner.username,
|
||||||
workspace_owner_avatar_url: MockUser.avatar_url,
|
workspace_owner_avatar_url: MockUserOwner.avatar_url,
|
||||||
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
||||||
deadline: "2022-05-17T23:39:00.00Z",
|
deadline: "2022-05-17T23:39:00.00Z",
|
||||||
reason: "autostart",
|
reason: "autostart",
|
||||||
@ -1298,17 +1293,17 @@ const MockWorkspaceBuildAutostop: TypesGen.WorkspaceBuild = {
|
|||||||
build_number: 1,
|
build_number: 1,
|
||||||
created_at: "2022-05-17T17:39:01.382927298Z",
|
created_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
id: "1",
|
id: "1",
|
||||||
initiator_id: MockUser.id,
|
initiator_id: MockUserOwner.id,
|
||||||
initiator_name: MockUser.username,
|
initiator_name: MockUserOwner.username,
|
||||||
job: MockProvisionerJob,
|
job: MockProvisionerJob,
|
||||||
template_version_id: MockTemplateVersion.id,
|
template_version_id: MockTemplateVersion.id,
|
||||||
template_version_name: MockTemplateVersion.name,
|
template_version_name: MockTemplateVersion.name,
|
||||||
transition: "start",
|
transition: "start",
|
||||||
updated_at: "2022-05-17T17:39:01.382927298Z",
|
updated_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
workspace_name: "test-workspace",
|
workspace_name: "test-workspace",
|
||||||
workspace_owner_id: MockUser.id,
|
workspace_owner_id: MockUserOwner.id,
|
||||||
workspace_owner_name: MockUser.username,
|
workspace_owner_name: MockUserOwner.username,
|
||||||
workspace_owner_avatar_url: MockUser.avatar_url,
|
workspace_owner_avatar_url: MockUserOwner.avatar_url,
|
||||||
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
||||||
deadline: "2022-05-17T23:39:00.00Z",
|
deadline: "2022-05-17T23:39:00.00Z",
|
||||||
reason: "autostop",
|
reason: "autostop",
|
||||||
@ -1324,17 +1319,17 @@ export const MockFailedWorkspaceBuild = (
|
|||||||
build_number: 1,
|
build_number: 1,
|
||||||
created_at: "2022-05-17T17:39:01.382927298Z",
|
created_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
id: "1",
|
id: "1",
|
||||||
initiator_id: MockUser.id,
|
initiator_id: MockUserOwner.id,
|
||||||
initiator_name: MockUser.username,
|
initiator_name: MockUserOwner.username,
|
||||||
job: MockFailedProvisionerJob,
|
job: MockFailedProvisionerJob,
|
||||||
template_version_id: MockTemplateVersion.id,
|
template_version_id: MockTemplateVersion.id,
|
||||||
template_version_name: MockTemplateVersion.name,
|
template_version_name: MockTemplateVersion.name,
|
||||||
transition: transition,
|
transition: transition,
|
||||||
updated_at: "2022-05-17T17:39:01.382927298Z",
|
updated_at: "2022-05-17T17:39:01.382927298Z",
|
||||||
workspace_name: "test-workspace",
|
workspace_name: "test-workspace",
|
||||||
workspace_owner_id: MockUser.id,
|
workspace_owner_id: MockUserOwner.id,
|
||||||
workspace_owner_name: MockUser.username,
|
workspace_owner_name: MockUserOwner.username,
|
||||||
workspace_owner_avatar_url: MockUser.avatar_url,
|
workspace_owner_avatar_url: MockUserOwner.avatar_url,
|
||||||
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3",
|
||||||
deadline: "2022-05-17T23:39:00.00Z",
|
deadline: "2022-05-17T23:39:00.00Z",
|
||||||
reason: "initiator",
|
reason: "initiator",
|
||||||
@ -1378,10 +1373,10 @@ export const MockWorkspace: TypesGen.Workspace = {
|
|||||||
template_active_version_id: MockTemplate.active_version_id,
|
template_active_version_id: MockTemplate.active_version_id,
|
||||||
template_require_active_version: MockTemplate.require_active_version,
|
template_require_active_version: MockTemplate.require_active_version,
|
||||||
outdated: false,
|
outdated: false,
|
||||||
owner_id: MockUser.id,
|
owner_id: MockUserOwner.id,
|
||||||
organization_id: MockOrganization.id,
|
organization_id: MockOrganization.id,
|
||||||
organization_name: "default",
|
organization_name: "default",
|
||||||
owner_name: MockUser.username,
|
owner_name: MockUserOwner.username,
|
||||||
owner_avatar_url: "https://avatars.githubusercontent.com/u/7122116?v=4",
|
owner_avatar_url: "https://avatars.githubusercontent.com/u/7122116?v=4",
|
||||||
autostart_schedule: MockWorkspaceAutostartEnabled.schedule,
|
autostart_schedule: MockWorkspaceAutostartEnabled.schedule,
|
||||||
ttl_ms: 2 * 60 * 60 * 1000,
|
ttl_ms: 2 * 60 * 60 * 1000,
|
||||||
@ -2508,7 +2503,7 @@ export const MockAuditLog: TypesGen.AuditLog = {
|
|||||||
status_code: 200,
|
status_code: 200,
|
||||||
additional_fields: {},
|
additional_fields: {},
|
||||||
description: "{user} created workspace {target}",
|
description: "{user} created workspace {target}",
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
resource_link: "/@admin/bruno-dev",
|
resource_link: "/@admin/bruno-dev",
|
||||||
is_deleted: false,
|
is_deleted: false,
|
||||||
};
|
};
|
||||||
@ -2579,7 +2574,7 @@ export const MockAuditLog3: TypesGen.AuditLog = {
|
|||||||
status_code: 200,
|
status_code: 200,
|
||||||
additional_fields: {},
|
additional_fields: {},
|
||||||
description: "{user} updated template {target}",
|
description: "{user} updated template {target}",
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
resource_link: "/templates/docker",
|
resource_link: "/templates/docker",
|
||||||
is_deleted: false,
|
is_deleted: false,
|
||||||
};
|
};
|
||||||
@ -2785,7 +2780,7 @@ export const MockGroup: TypesGen.Group = {
|
|||||||
organization_id: MockOrganization.id,
|
organization_id: MockOrganization.id,
|
||||||
organization_name: MockOrganization.name,
|
organization_name: MockOrganization.name,
|
||||||
organization_display_name: MockOrganization.display_name,
|
organization_display_name: MockOrganization.display_name,
|
||||||
members: [MockUser, MockUser2],
|
members: [MockUserOwner, MockUserMember],
|
||||||
quota_allowance: 5,
|
quota_allowance: 5,
|
||||||
source: "user",
|
source: "user",
|
||||||
total_member_count: 2,
|
total_member_count: 2,
|
||||||
@ -2799,7 +2794,7 @@ export const MockGroup2: TypesGen.Group = {
|
|||||||
organization_id: MockOrganization.id,
|
organization_id: MockOrganization.id,
|
||||||
organization_name: MockOrganization.name,
|
organization_name: MockOrganization.name,
|
||||||
organization_display_name: MockOrganization.display_name,
|
organization_display_name: MockOrganization.display_name,
|
||||||
members: [MockUser, MockUser2],
|
members: [MockUserOwner, MockUserMember],
|
||||||
quota_allowance: 5,
|
quota_allowance: 5,
|
||||||
source: "user",
|
source: "user",
|
||||||
total_member_count: 2,
|
total_member_count: 2,
|
||||||
@ -2826,7 +2821,7 @@ export const MockTemplateACL: TypesGen.TemplateACL = {
|
|||||||
{ ...MockEveryoneGroup, role: "use" },
|
{ ...MockEveryoneGroup, role: "use" },
|
||||||
{ ...MockGroup, role: "admin" },
|
{ ...MockGroup, role: "admin" },
|
||||||
],
|
],
|
||||||
users: [{ ...MockUser, role: "use" }],
|
users: [{ ...MockUserOwner, role: "use" }],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MockTemplateACLEmpty: TypesGen.TemplateACL = {
|
export const MockTemplateACLEmpty: TypesGen.TemplateACL = {
|
||||||
@ -4277,7 +4272,7 @@ export const MockNotification: TypesGen.InboxNotification = {
|
|||||||
url: "https://dev.coder.com/templates/coder/coder",
|
url: "https://dev.coder.com/templates/coder/coder",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
user_id: MockUser.id,
|
user_id: MockUserOwner.id,
|
||||||
template_id: MockTemplate.id,
|
template_id: MockTemplate.id,
|
||||||
targets: [],
|
targets: [],
|
||||||
title: "User account created",
|
title: "User account created",
|
||||||
|
@ -135,12 +135,12 @@ export const handlers = [
|
|||||||
// users
|
// users
|
||||||
http.get("/api/v2/users", () => {
|
http.get("/api/v2/users", () => {
|
||||||
return HttpResponse.json({
|
return HttpResponse.json({
|
||||||
users: [M.MockUser, M.MockUser2, M.SuspendedMockUser],
|
users: [M.MockUserOwner, M.MockUserMember, M.SuspendedMockUser],
|
||||||
count: 26,
|
count: 26,
|
||||||
});
|
});
|
||||||
}),
|
}),
|
||||||
http.post("/api/v2/users", () => {
|
http.post("/api/v2/users", () => {
|
||||||
return HttpResponse.json(M.MockUser);
|
return HttpResponse.json(M.MockUserOwner);
|
||||||
}),
|
}),
|
||||||
http.get("/api/v2/users/:userid/login-type", () => {
|
http.get("/api/v2/users/:userid/login-type", () => {
|
||||||
return HttpResponse.json({
|
return HttpResponse.json({
|
||||||
@ -160,7 +160,7 @@ export const handlers = [
|
|||||||
return new HttpResponse(null, { status: 200 });
|
return new HttpResponse(null, { status: 200 });
|
||||||
}),
|
}),
|
||||||
http.get("/api/v2/users/me", () => {
|
http.get("/api/v2/users/me", () => {
|
||||||
return HttpResponse.json(M.MockUser);
|
return HttpResponse.json(M.MockUserOwner);
|
||||||
}),
|
}),
|
||||||
http.get("/api/v2/users/me/appearance", () => {
|
http.get("/api/v2/users/me/appearance", () => {
|
||||||
return HttpResponse.json(M.MockUserAppearanceSettings);
|
return HttpResponse.json(M.MockUserAppearanceSettings);
|
||||||
@ -198,7 +198,7 @@ export const handlers = [
|
|||||||
return new HttpResponse(null, { status: 200 });
|
return new HttpResponse(null, { status: 200 });
|
||||||
}),
|
}),
|
||||||
http.post("/api/v2/users/first", () => {
|
http.post("/api/v2/users/first", () => {
|
||||||
return HttpResponse.json(M.MockUser);
|
return HttpResponse.json(M.MockUserOwner);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// workspaces
|
// workspaces
|
||||||
|
@ -20,7 +20,7 @@ import {
|
|||||||
createMemoryRouter,
|
createMemoryRouter,
|
||||||
} from "react-router-dom";
|
} from "react-router-dom";
|
||||||
import themes, { DEFAULT_THEME } from "theme";
|
import themes, { DEFAULT_THEME } from "theme";
|
||||||
import { MockUser } from "./entities";
|
import { MockUserOwner } from "./entities";
|
||||||
|
|
||||||
export function createTestQueryClient() {
|
export function createTestQueryClient() {
|
||||||
// Helps create one query client for each test case, to make sure that tests
|
// Helps create one query client for each test case, to make sure that tests
|
||||||
@ -118,7 +118,7 @@ export function renderWithAuth(
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
...renderResult,
|
...renderResult,
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ export function renderWithTemplateSettingsLayout(
|
|||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
...renderResult,
|
...renderResult,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -191,7 +191,7 @@ export function renderWithWorkspaceSettingsLayout(
|
|||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
...renderResult,
|
...renderResult,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -228,7 +228,7 @@ export function renderWithOrganizationSettingsLayout(
|
|||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
user: MockUser,
|
user: MockUserOwner,
|
||||||
...renderResult,
|
...renderResult,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user