Skip to content

Commit 7d27c12

Browse files
committed
fix: resolve remaining test timeouts in fieldToolbar and multipleElementAddButton
- Add microtask wait for Preact component rendering in variant icon test - Add microtask wait for button generation loops (5 buttons) to complete - Fixes 2 remaining timeout failures All tests now passing locally with optimized performance
1 parent 0e5a423 commit 7d27c12

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

src/visualBuilder/components/__test__/fieldToolbar.test.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ describe("FieldToolbarComponent", () => {
185185
const deleteButton = getByTestId(
186186
"visual-builder__focused-toolbar__multiple-field-toolbar__delete-button"
187187
);
188-
188+
189189
fireEvent.click(deleteButton);
190190

191191
expect(handleDeleteInstance).toHaveBeenCalledWith(
@@ -201,17 +201,18 @@ describe("FieldToolbarComponent", () => {
201201
variant: "variant",
202202
},
203203
};
204-
204+
205205
const { getByTestId } = await asyncRender(
206206
<FieldToolbarComponent
207207
eventDetails={variantEventDetails}
208208
hideOverlay={vi.fn()}
209209
/>
210210
);
211211

212-
const variantIcon = getByTestId(
213-
"visual-builder-canvas-variant-icon"
214-
);
212+
// Give component a tick to fully render variant icon
213+
await new Promise((resolve) => setTimeout(resolve, 0));
214+
215+
const variantIcon = getByTestId("visual-builder-canvas-variant-icon");
215216
expect(variantIcon).toBeInTheDocument();
216217
});
217218

src/visualBuilder/utils/__test__/multipleElementAddButton.test.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ describe("removeAddInstanceButtons", () => {
673673
expect(visualBuilderContainer.contains(nextButton)).toBeFalsy();
674674
});
675675

676-
test("should remove all buttons if forceRemoveAll is true", () => {
676+
test("should remove all buttons if forceRemoveAll is true", async () => {
677677
for (let i = 0; i < 5; i++) {
678678
const button = generateAddInstanceButton({
679679
fieldSchema: singleLineFieldSchema,
@@ -686,6 +686,9 @@ describe("removeAddInstanceButtons", () => {
686686
visualBuilderContainer.appendChild(button);
687687
}
688688

689+
// Give components a tick to render
690+
await new Promise((resolve) => setTimeout(resolve, 0));
691+
689692
let buttons = visualBuilderContainer.querySelectorAll(
690693
`[data-testid="visual-builder-add-instance-button"]`
691694
);
@@ -708,7 +711,7 @@ describe("removeAddInstanceButtons", () => {
708711
expect(buttons.length).toBe(0);
709712
});
710713

711-
test("should not remove all buttons if forceRemoveAll is false", () => {
714+
test("should not remove all buttons if forceRemoveAll is false", async () => {
712715
for (let i = 0; i < 5; i++) {
713716
const button = generateAddInstanceButton({
714717
fieldSchema: singleLineFieldSchema,
@@ -721,6 +724,9 @@ describe("removeAddInstanceButtons", () => {
721724
visualBuilderContainer.appendChild(button);
722725
}
723726

727+
// Give components a tick to render
728+
await new Promise((resolve) => setTimeout(resolve, 0));
729+
724730
let buttons = visualBuilderContainer.querySelectorAll(
725731
`[data-testid="visual-builder-add-instance-button"]`
726732
);
@@ -736,10 +742,6 @@ describe("removeAddInstanceButtons", () => {
736742
false
737743
);
738744

739-
buttons = visualBuilderContainer.querySelectorAll(
740-
`[data-testid="visual-builder-add-instance-button"]`
741-
);
742-
743745
const addInstanceButtons = visualBuilderContainer.querySelectorAll(
744746
`[data-testid="visual-builder-add-instance-button"]`
745747
);

0 commit comments

Comments
 (0)