Skip to content

Commit 00ea98e

Browse files
committed
added tests
1 parent ebe2d93 commit 00ea98e

File tree

3 files changed

+81
-5
lines changed

3 files changed

+81
-5
lines changed

site/src/components/DeploySettingsLayout/optionValue.test.ts

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const defaultOption: ClibaseOption = {
1313
describe("optionValue", () => {
1414
it.each<{
1515
option: ClibaseOption;
16+
additionalValues?: string[];
1617
expected: unknown;
1718
}>([
1819
{
@@ -67,7 +68,46 @@ describe("optionValue", () => {
6768
},
6869
expected: [`"123"->"foo"`, `"456"->"bar"`, `"789"->"baz"`],
6970
},
70-
])(`[$option.name]optionValue($option.value)`, ({ option, expected }) => {
71-
expect(optionValue(option)).toEqual(expected);
72-
});
71+
{
72+
option: {
73+
...defaultOption,
74+
name: "Experiments",
75+
value: ["single_tailnet"],
76+
},
77+
additionalValues: ["single_tailnet", "deployment_health_page"],
78+
expected: { single_tailnet: true, deployment_health_page: false },
79+
},
80+
{
81+
option: {
82+
...defaultOption,
83+
name: "Experiments",
84+
value: [],
85+
},
86+
additionalValues: ["single_tailnet", "deployment_health_page"],
87+
expected: { single_tailnet: false, deployment_health_page: false },
88+
},
89+
{
90+
option: {
91+
...defaultOption,
92+
name: "Experiments",
93+
value: ["moons"],
94+
},
95+
additionalValues: ["single_tailnet", "deployment_health_page"],
96+
expected: { single_tailnet: false, deployment_health_page: false },
97+
},
98+
{
99+
option: {
100+
...defaultOption,
101+
name: "Experiments",
102+
value: ["*"],
103+
},
104+
additionalValues: ["single_tailnet", "deployment_health_page"],
105+
expected: { single_tailnet: true, deployment_health_page: true },
106+
},
107+
])(
108+
`[$option.name]optionValue($option.value)`,
109+
({ option, expected, additionalValues }) => {
110+
expect(optionValue(option, additionalValues)).toEqual(expected);
111+
},
112+
);
73113
});

site/src/components/DeploySettingsLayout/optionValue.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export function optionValue(
2626
const experimentMap: Record<string, boolean> | undefined =
2727
additionalValues?.reduce(
2828
(acc, v) => {
29-
return { ...acc, [v]: false };
29+
return { ...acc, [v]: option.value.includes("*") ? true : false };
3030
},
3131
{} as Record<string, boolean>,
3232
);

site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ const meta: Meta<typeof GeneralSettingsPageView> = {
3434
description:
3535
"Enable one or more experiments. These are not ready for production. Separate multiple experiments with commas, or enter '*' to opt-in to all available experiments.",
3636
flag: "experiments",
37-
value: ["*", "moons", "single_tailnet", "deployment_health_page"],
37+
value: ["single_tailnet"],
3838
flag_shorthand: "",
3939
hidden: false,
4040
},
4141
],
4242
deploymentDAUs: MockDeploymentDAUResponse,
43+
allExperiments: ["single_tailnet", "deployment_health_page"],
4344
},
4445
};
4546

@@ -69,3 +70,38 @@ export const DAUError: Story = {
6970
}),
7071
},
7172
};
73+
74+
export const allExperimentsEnabled: Story = {
75+
args: {
76+
deploymentOptions: [
77+
{
78+
name: "Access URL",
79+
description:
80+
"The URL that users will use to access the Coder deployment.",
81+
flag: "access-url",
82+
flag_shorthand: "",
83+
value: "https://dev.coder.com",
84+
hidden: false,
85+
},
86+
{
87+
name: "Wildcard Access URL",
88+
description:
89+
'Specifies the wildcard hostname to use for workspace applications in the form "*.example.com".',
90+
flag: "wildcard-access-url",
91+
flag_shorthand: "",
92+
value: "*--apps.dev.coder.com",
93+
hidden: false,
94+
},
95+
{
96+
name: "Experiments",
97+
description:
98+
"Enable one or more experiments. These are not ready for production. Separate multiple experiments with commas, or enter '*' to opt-in to all available experiments.",
99+
flag: "experiments",
100+
value: ["*"],
101+
flag_shorthand: "",
102+
hidden: false,
103+
},
104+
],
105+
allExperiments: ["single_tailnet", "deployment_health_page"],
106+
},
107+
};

0 commit comments

Comments
 (0)