set correct action for view device list button (#10979)
This commit is contained in:
parent
d0d9a36d07
commit
e326526c10
2 changed files with 39 additions and 2 deletions
|
@ -24,7 +24,6 @@ import defaultDispatcher from "../../../dispatcher/dispatcher";
|
||||||
import { Action } from "../../../dispatcher/actions";
|
import { Action } from "../../../dispatcher/actions";
|
||||||
import AccessibleButton from "../elements/AccessibleButton";
|
import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import { OpenToTabPayload } from "../../../dispatcher/payloads/OpenToTabPayload";
|
import { OpenToTabPayload } from "../../../dispatcher/payloads/OpenToTabPayload";
|
||||||
import { UserTab } from "../dialogs/UserTab";
|
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
import SetupEncryptionDialog from "../dialogs/security/SetupEncryptionDialog";
|
import SetupEncryptionDialog from "../dialogs/security/SetupEncryptionDialog";
|
||||||
import { SetupEncryptionStore } from "../../../stores/SetupEncryptionStore";
|
import { SetupEncryptionStore } from "../../../stores/SetupEncryptionStore";
|
||||||
|
@ -136,7 +135,7 @@ export const DecryptionFailureBar: React.FC<IProps> = ({ failures }) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const onDeviceListClick = (): void => {
|
const onDeviceListClick = (): void => {
|
||||||
const payload: OpenToTabPayload = { action: Action.ViewUserSettings, initialTabId: UserTab.Security };
|
const payload: OpenToTabPayload = { action: Action.ViewUserDeviceSettings };
|
||||||
defaultDispatcher.dispatch(payload);
|
defaultDispatcher.dispatch(payload);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@ import "@testing-library/jest-dom";
|
||||||
|
|
||||||
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";
|
||||||
import { DecryptionFailureBar } from "../../../../src/components/views/rooms/DecryptionFailureBar";
|
import { DecryptionFailureBar } from "../../../../src/components/views/rooms/DecryptionFailureBar";
|
||||||
|
import defaultDispatcher from "../../../../src/dispatcher/dispatcher";
|
||||||
|
import { Action } from "../../../../src/dispatcher/actions";
|
||||||
|
|
||||||
type MockDevice = { deviceId: string };
|
type MockDevice = { deviceId: string };
|
||||||
|
|
||||||
|
@ -71,6 +73,7 @@ function getBar(wrapper: RenderResult) {
|
||||||
describe("<DecryptionFailureBar />", () => {
|
describe("<DecryptionFailureBar />", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.useFakeTimers();
|
jest.useFakeTimers();
|
||||||
|
jest.spyOn(defaultDispatcher, "dispatch").mockRestore();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
@ -285,6 +288,41 @@ describe("<DecryptionFailureBar />", () => {
|
||||||
|
|
||||||
bar.unmount();
|
bar.unmount();
|
||||||
});
|
});
|
||||||
|
it("Displays button to review device list if we are verified", async () => {
|
||||||
|
// stub so we dont have to deal with launching modals
|
||||||
|
jest.spyOn(defaultDispatcher, "dispatch").mockImplementation(() => {});
|
||||||
|
ourDevice = verifiedDevice1;
|
||||||
|
allDevices = [verifiedDevice1, verifiedDevice2];
|
||||||
|
|
||||||
|
const bar = render(
|
||||||
|
// @ts-ignore
|
||||||
|
<MatrixClientContext.Provider value={mockClient}>
|
||||||
|
<DecryptionFailureBar
|
||||||
|
failures={[
|
||||||
|
// @ts-ignore
|
||||||
|
mockEvent1,
|
||||||
|
// @ts-ignore
|
||||||
|
mockEvent2,
|
||||||
|
// @ts-ignore
|
||||||
|
mockEvent3,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
,
|
||||||
|
</MatrixClientContext.Provider>,
|
||||||
|
);
|
||||||
|
|
||||||
|
await waitFor(() => expect(mockClient.isSecretStored).toHaveBeenCalled());
|
||||||
|
|
||||||
|
act(() => {
|
||||||
|
jest.advanceTimersByTime(5000);
|
||||||
|
});
|
||||||
|
|
||||||
|
fireEvent.click(screen.getByText("View your device list"));
|
||||||
|
|
||||||
|
expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: Action.ViewUserDeviceSettings });
|
||||||
|
|
||||||
|
bar.unmount();
|
||||||
|
});
|
||||||
|
|
||||||
it("Does not display a button to send key requests if we are unverified", async () => {
|
it("Does not display a button to send key requests if we are unverified", async () => {
|
||||||
ourDevice = unverifiedDevice1;
|
ourDevice = unverifiedDevice1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue