diff --git a/test/unit-tests/components/views/settings/encryption/DeleteKeyStoragePanel-test.tsx b/test/unit-tests/components/views/settings/encryption/DeleteKeyStoragePanel-test.tsx
index 4b0390c506..84f83bb8ae 100644
--- a/test/unit-tests/components/views/settings/encryption/DeleteKeyStoragePanel-test.tsx
+++ b/test/unit-tests/components/views/settings/encryption/DeleteKeyStoragePanel-test.tsx
@@ -9,6 +9,7 @@ import React from "react";
import { render, screen, waitFor } from "jest-matrix-react";
import userEvent from "@testing-library/user-event";
import { mocked } from "jest-mock";
+import { defer } from "matrix-js-sdk/src/utils";
import type { MatrixClient } from "matrix-js-sdk/src/matrix";
import { createTestClient, withClientContextRenderOptions } from "../../../../../test-utils";
@@ -70,13 +71,10 @@ describe("", () => {
});
it("should wait with button disabled while setEnabled runs", async () => {
- let setEnabledResolve: () => void;
- const setEnabledPromise = new Promise((r) => {
- setEnabledResolve = r;
- });
+ const setEnabledDefer = defer();
mocked(useKeyStoragePanelViewModel).mockReturnValue({
- setEnabled: jest.fn().mockReturnValue(setEnabledPromise),
+ setEnabled: jest.fn().mockReturnValue(setEnabledDefer.promise),
isEnabled: true,
loading: false,
busy: false,
@@ -91,7 +89,7 @@ describe("", () => {
expect(onFinish).not.toHaveBeenCalled();
expect(screen.getByRole("button", { name: "Delete key storage" })).toHaveAttribute("aria-disabled", "true");
- setEnabledResolve!();
+ setEnabledDefer.resolve();
await waitFor(() => expect(onFinish).toHaveBeenCalled());
});
});