mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: use fake timers in edit workspace test (#27141)
Fixes an issue where the debounce delay plus edit delay exceeds the wait timeout. Also remove the mocked rich parameters call; it is not used.
This commit is contained in:
+6
-8
@@ -8,9 +8,6 @@ import {
|
||||
MockPreviewParameter2,
|
||||
MockPreviewParameter4,
|
||||
MockPreviewParameter7,
|
||||
MockTemplateVersionParameter1,
|
||||
MockTemplateVersionParameter4,
|
||||
MockTemplateVersionParameter7,
|
||||
MockWorkspace,
|
||||
MockWorkspaceBuildParameter1,
|
||||
MockWorkspaceBuildParameter4,
|
||||
@@ -50,11 +47,6 @@ describe("WorkspaceParametersPage", () => {
|
||||
vi.spyOn(API, "getWorkspaceByOwnerAndName").mockResolvedValueOnce(
|
||||
MockWorkspace,
|
||||
);
|
||||
vi.spyOn(API, "getTemplateVersionRichParameters").mockResolvedValueOnce([
|
||||
MockTemplateVersionParameter1, // a mutable string
|
||||
MockTemplateVersionParameter4, // an immutable string
|
||||
MockTemplateVersionParameter7, // optional string
|
||||
]);
|
||||
vi.spyOn(API, "postWorkspaceBuild").mockRejectedValueOnce(
|
||||
new Error("not implemented"),
|
||||
);
|
||||
@@ -329,6 +321,12 @@ describe("WorkspaceParametersPage", () => {
|
||||
MockPreviewParameter7,
|
||||
);
|
||||
|
||||
// Make the debounce fire after each macrotask, to avoid the waitFor() calls
|
||||
// timing out. As the edits come in and are (sometimes slowly) processed on
|
||||
// top of the 500ms debounce, this can trip waitFor()'s 1000ms timeout.
|
||||
vi.useFakeTimers();
|
||||
vi.setTimerTickMode("nextTimerAsync");
|
||||
|
||||
// Blank out one field and fill out another.
|
||||
const editedParameters = [
|
||||
// Put the blank one first to ensure we are preserving blank values and
|
||||
|
||||
@@ -1903,20 +1903,19 @@ export const MockTemplateVersionParameter3: TypesGen.TemplateVersionParameter =
|
||||
ephemeral: false,
|
||||
};
|
||||
|
||||
export const MockTemplateVersionParameter4: TypesGen.TemplateVersionParameter =
|
||||
{
|
||||
name: "fourth_parameter",
|
||||
type: "string",
|
||||
form_type: "input",
|
||||
description: "This is fourth parameter",
|
||||
description_plaintext: "Markdown: This is fourth parameter",
|
||||
default_value: "def",
|
||||
mutable: false,
|
||||
icon: "/icon/database.svg",
|
||||
options: [],
|
||||
required: true,
|
||||
ephemeral: false,
|
||||
};
|
||||
const MockTemplateVersionParameter4: TypesGen.TemplateVersionParameter = {
|
||||
name: "fourth_parameter",
|
||||
type: "string",
|
||||
form_type: "input",
|
||||
description: "This is fourth parameter",
|
||||
description_plaintext: "Markdown: This is fourth parameter",
|
||||
default_value: "def",
|
||||
mutable: false,
|
||||
icon: "/icon/database.svg",
|
||||
options: [],
|
||||
required: true,
|
||||
ephemeral: false,
|
||||
};
|
||||
|
||||
const MockTemplateVersionParameter5: TypesGen.TemplateVersionParameter = {
|
||||
name: "fifth_parameter",
|
||||
@@ -1951,23 +1950,22 @@ export const MockTemplateVersionParameter6: TypesGen.TemplateVersionParameter =
|
||||
};
|
||||
|
||||
// Not required and the default is a blank string.
|
||||
export const MockTemplateVersionParameter7: TypesGen.TemplateVersionParameter =
|
||||
{
|
||||
name: "seventh_parameter",
|
||||
type: "string",
|
||||
form_type: "input",
|
||||
description: "This is seventh parameter",
|
||||
description_plaintext: "Markdown: This is seventh parameter",
|
||||
default_value: "",
|
||||
mutable: true,
|
||||
icon: "/icon/folder.svg",
|
||||
options: [],
|
||||
validation_min: 1,
|
||||
validation_max: 10,
|
||||
validation_monotonic: "decreasing",
|
||||
required: false,
|
||||
ephemeral: false,
|
||||
};
|
||||
const MockTemplateVersionParameter7: TypesGen.TemplateVersionParameter = {
|
||||
name: "seventh_parameter",
|
||||
type: "string",
|
||||
form_type: "input",
|
||||
description: "This is seventh parameter",
|
||||
description_plaintext: "Markdown: This is seventh parameter",
|
||||
default_value: "",
|
||||
mutable: true,
|
||||
icon: "/icon/folder.svg",
|
||||
options: [],
|
||||
validation_min: 1,
|
||||
validation_max: 10,
|
||||
validation_monotonic: "decreasing",
|
||||
required: false,
|
||||
ephemeral: false,
|
||||
};
|
||||
|
||||
export const MockTemplateVersionVariable1: TypesGen.TemplateVersionVariable = {
|
||||
name: "first_variable",
|
||||
|
||||
Reference in New Issue
Block a user