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 { advanceDateAndTime, stubClient } from "./test-utils";
|
||||||
import { IMatrixClientPeg, MatrixClientPeg as peg } from "../src/MatrixClientPeg";
|
import { IMatrixClientPeg, MatrixClientPeg as peg } from "../src/MatrixClientPeg";
|
||||||
import SettingsStore from "../src/settings/SettingsStore";
|
import SettingsStore from "../src/settings/SettingsStore";
|
||||||
|
import { SettingLevel } from "../src/settings/SettingLevel";
|
||||||
|
|
||||||
jest.useFakeTimers();
|
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 mockInitCrypto = jest.spyOn(testPeg.get(), "initCrypto").mockResolvedValue(undefined);
|
||||||
const mockInitRustCrypto = jest.spyOn(testPeg.get(), "initRustCrypto").mockResolvedValue(undefined);
|
const mockInitRustCrypto = jest.spyOn(testPeg.get(), "initRustCrypto").mockResolvedValue(undefined);
|
||||||
|
|
||||||
await testPeg.start();
|
await testPeg.start();
|
||||||
expect(mockInitCrypto).not.toHaveBeenCalled();
|
expect(mockInitCrypto).not.toHaveBeenCalled();
|
||||||
expect(mockInitRustCrypto).toHaveBeenCalledTimes(1);
|
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