Prevent rust-crypto setting from leaking to other tests (#10464)
Follow-up to #9759. Because the MatrixClientPeg pushes the use_rust_crypto setting back into the SettingsStore, the setting was leaking out to other tests despite getValue's mock being restored. The solution is to mock out setValue as well.pull/28217/head
parent
513eb0f83d
commit
d821323e5c
|
@ -20,6 +20,7 @@ import fetchMockJest from "fetch-mock-jest";
|
|||
import { advanceDateAndTime, stubClient } from "./test-utils";
|
||||
import { IMatrixClientPeg, MatrixClientPeg as peg } from "../src/MatrixClientPeg";
|
||||
import SettingsStore from "../src/settings/SettingsStore";
|
||||
import { SettingLevel } from "../src/settings/SettingLevel";
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
|
@ -121,12 +122,17 @@ describe("MatrixClientPeg", () => {
|
|||
},
|
||||
);
|
||||
|
||||
const mockSetValue = jest.spyOn(SettingsStore, "setValue").mockResolvedValue(undefined);
|
||||
|
||||
const mockInitCrypto = jest.spyOn(testPeg.get(), "initCrypto").mockResolvedValue(undefined);
|
||||
const mockInitRustCrypto = jest.spyOn(testPeg.get(), "initRustCrypto").mockResolvedValue(undefined);
|
||||
|
||||
await testPeg.start();
|
||||
expect(mockInitCrypto).not.toHaveBeenCalled();
|
||||
expect(mockInitRustCrypto).toHaveBeenCalledTimes(1);
|
||||
|
||||
// we should have stashed the setting in the settings store
|
||||
expect(mockSetValue).toHaveBeenCalledWith("feature_rust_crypto", null, SettingLevel.DEVICE, true);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue