Skip to content

Commit a656cb8

Browse files
committed
fix: default org selection in template form if only one
1 parent 4732f08 commit a656cb8

File tree

2 files changed

+65
-3
lines changed

2 files changed

+65
-3
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import { action } from "@storybook/addon-actions";
2+
import type { Meta, StoryObj } from "@storybook/react";
3+
import { userEvent, within } from "@storybook/test";
4+
import {
5+
MockOrganization,
6+
MockOrganization2,
7+
MockUser,
8+
} from "testHelpers/entities";
9+
import { OrganizationAutocomplete } from "./OrganizationAutocomplete";
10+
11+
const meta: Meta<typeof OrganizationAutocomplete> = {
12+
title: "components/OrganizationAutocomplete",
13+
component: OrganizationAutocomplete,
14+
args: {
15+
value: null,
16+
onChange: action("Selected organization"),
17+
},
18+
};
19+
20+
export default meta;
21+
type Story = StoryObj<typeof OrganizationAutocomplete>;
22+
23+
export const ManyOrgs: Story = {
24+
parameters: {
25+
showOrganizations: true,
26+
user: MockUser,
27+
features: ["multiple_organizations"],
28+
permissions: { viewDeploymentValues: true },
29+
queries: [
30+
{
31+
key: ["organizations"],
32+
data: [MockOrganization, MockOrganization2],
33+
},
34+
],
35+
},
36+
play: async ({ canvasElement }) => {
37+
const canvas = within(canvasElement);
38+
const button = canvas.getByRole("button");
39+
await userEvent.click(button);
40+
},
41+
};
42+
43+
export const OneOrg: Story = {
44+
parameters: {
45+
showOrganizations: true,
46+
user: MockUser,
47+
features: ["multiple_organizations"],
48+
permissions: { viewDeploymentValues: true },
49+
queries: [
50+
{
51+
key: ["organizations"],
52+
data: [MockOrganization],
53+
},
54+
],
55+
},
56+
play: async ({ canvasElement }) => {
57+
const canvas = within(canvasElement);
58+
const button = canvas.getByRole("button");
59+
await userEvent.click(button);
60+
},
61+
};

site/src/components/OrganizationAutocomplete/OrganizationAutocomplete.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ export const OrganizationAutocomplete: FC<OrganizationAutocompleteProps> = ({
8585
className={className}
8686
options={options}
8787
loading={organizationsQuery.isLoading}
88-
value={value}
88+
value={options.length === 1 ? options[0] : value}
89+
disabled={options.length === 1}
8990
data-testid="organization-autocomplete"
9091
open={autoComplete.open}
9192
isOptionEqualToValue={(a, b) => a.name === b.name}
@@ -154,6 +155,6 @@ export const OrganizationAutocomplete: FC<OrganizationAutocompleteProps> = ({
154155
};
155156

156157
const root = css`
157-
padding-left: 14px !important; // Same padding left as input
158-
gap: 4px;
158+
padding-left: 14px !important; // Same padding left as input
159+
gap: 4px;
159160
`;

0 commit comments

Comments
 (0)