Skip to content

test(site): e2e: create workspace with rich parameters #9185

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 15 commits into from
Aug 22, 2023
Prev Previous commit
Next Next commit
Support options
  • Loading branch information
mtojek committed Aug 21, 2023
commit d784d466df47b78cbaea6d7cfb1c3291a6b33f04
6 changes: 5 additions & 1 deletion site/e2e/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,11 @@ export const verifyParameters = async (
const value = await parameterField.inputValue()
expect(value).toEqual(buildParameter.value)
} else if (richParameter.options.length > 0) {
throw new Error("not implemented yet")
const parameterField = await parameterLabel.waitForSelector(
"[data-testid='parameter-field-options'] .MuiRadio-root.Mui-checked" + muiDisabled + " input",
)
const value = await parameterField.inputValue()
expect(value).toEqual(buildParameter.value)
} else if (richParameter.type === "list(string)") {
throw new Error("not implemented yet")
} else {
Expand Down
36 changes: 34 additions & 2 deletions site/e2e/parameters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,40 @@ export const fourthParameter: RichParameter = {
order: 3,
}

export const sixthParameter: RichParameter = {
...emptyParameter,

name: "sixth_parameter",
displayName: "Sixth parameter",
type: "string",
options: [
{
name: "ABC",
description: "This is ABC",
value: "abc",
icon: "",
},
{
name: "DEF",
description: "This is DEF",
value: "def",
icon: "",
},
{
name: "GHI",
description: "This is GHI",
value: "ghi",
icon: "",
},
],
description: "This is sixth parameter.",
defaultValue: "def",
icon: "",
mutable: false,
required: false,
order: 3,
}

// Build options

export const firstBuildOption: RichParameter = {
Expand All @@ -93,6 +127,4 @@ export const firstBuildOption: RichParameter = {
order: 1,
}

// TODO Options

// TODO list(string)
7 changes: 4 additions & 3 deletions site/e2e/tests/createWorkspace.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { test } from "@playwright/test"
import { createTemplate, createWorkspace, verifyParameters } from "../helpers"

import { secondParameter, fourthParameter } from "../parameters"
import { secondParameter, fourthParameter, sixthParameter } from "../parameters"
import { RichParameter } from "../provisionerGenerated"

test("create workspace", async ({ page }) => {
Expand All @@ -21,8 +21,8 @@ test("create workspace", async ({ page }) => {
await createWorkspace(page, template)
})

test("create workspace with default parameters", async ({ page }) => {
const richParameters: RichParameter[] = [secondParameter, fourthParameter]
test("create workspace with default immutable parameters", async ({ page }) => {
const richParameters: RichParameter[] = [secondParameter, fourthParameter, sixthParameter]
const template = await createTemplate(page, {
plan: [
{
Expand All @@ -47,5 +47,6 @@ test("create workspace with default parameters", async ({ page }) => {
await verifyParameters(page, workspaceName, richParameters, [
{ name: secondParameter.name, value: secondParameter.defaultValue },
{ name: fourthParameter.name, value: fourthParameter.defaultValue },
{ name: sixthParameter.name, value: sixthParameter.defaultValue },
])
})