Add config setting to disable bulk unverified sessions nag (#9657)
* test bulk unverified sessions toast behaviour * unverified sessions toast text tweak * only show bulk unverified sessions toast when current device is verified * add Setting for BulkUnverifiedSessionsReminder * add build config for BulkUnverifiedSessionsReminder * add more assertions for show/hide toast, fix strict errors * fix strict error
This commit is contained in:
parent
5742c24114
commit
81098b9914
4 changed files with 36 additions and 1 deletions
|
@ -34,6 +34,7 @@ import { Action } from "../src/dispatcher/actions";
|
|||
import SettingsStore from "../src/settings/SettingsStore";
|
||||
import { SettingLevel } from "../src/settings/SettingLevel";
|
||||
import { getMockClientWithEventEmitter, mockPlatformPeg } from "./test-utils";
|
||||
import { UIFeature } from "../src/settings/UIFeature";
|
||||
|
||||
// don't litter test console with logs
|
||||
jest.mock("matrix-js-sdk/src/logger");
|
||||
|
@ -399,6 +400,9 @@ describe('DeviceListener', () => {
|
|||
// all devices verified by default
|
||||
mockClient!.checkDeviceTrust.mockReturnValue(deviceTrustVerified);
|
||||
mockClient!.deviceId = currentDevice.deviceId;
|
||||
jest.spyOn(SettingsStore, 'getValue').mockImplementation(
|
||||
settingName => settingName === UIFeature.BulkUnverifiedSessionsReminder,
|
||||
);
|
||||
});
|
||||
describe('bulk unverified sessions toasts', () => {
|
||||
it('hides toast when cross signing is not ready', async () => {
|
||||
|
@ -414,6 +418,24 @@ describe('DeviceListener', () => {
|
|||
expect(BulkUnverifiedSessionsToast.showToast).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('hides toast when feature is disabled', async () => {
|
||||
// BulkUnverifiedSessionsReminder set to false
|
||||
jest.spyOn(SettingsStore, 'getValue').mockReturnValue(false);
|
||||
// currentDevice, device2 are verified, device3 is unverified
|
||||
// ie if reminder was enabled it should be shown
|
||||
mockClient!.checkDeviceTrust.mockImplementation((_userId, deviceId) => {
|
||||
switch (deviceId) {
|
||||
case currentDevice.deviceId:
|
||||
case device2.deviceId:
|
||||
return deviceTrustVerified;
|
||||
default:
|
||||
return deviceTrustUnverified;
|
||||
}
|
||||
});
|
||||
await createAndStart();
|
||||
expect(BulkUnverifiedSessionsToast.hideToast).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('hides toast when current device is unverified', async () => {
|
||||
// device2 verified, current and device3 unverified
|
||||
mockClient!.checkDeviceTrust.mockImplementation((_userId, deviceId) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue