diff --git a/test/components/structures/CallEventGrouper-test.ts b/test/components/structures/CallEventGrouper-test.ts
index 587a69e16c..a5c2bb4c16 100644
--- a/test/components/structures/CallEventGrouper-test.ts
+++ b/test/components/structures/CallEventGrouper-test.ts
@@ -15,7 +15,7 @@ limitations under the License.
*/
import "../../skinned-sdk";
-import { MatrixClient } from 'matrix-js-sdk/src/matrix';
+import { MatrixClient, MatrixEvent } from 'matrix-js-sdk/src/matrix';
import { EventType } from "matrix-js-sdk/src/@types/event";
import { CallState } from "matrix-js-sdk/src/webrtc/call";
@@ -52,7 +52,7 @@ describe('CallEventGrouper', () => {
sender: {
userId: THEIR_USER_ID,
},
- });
+ } as unknown as MatrixEvent);
expect(grouper.state).toBe(CustomCallState.Missed);
});
@@ -73,7 +73,7 @@ describe('CallEventGrouper', () => {
sender: {
userId: MY_USER_ID,
},
- });
+ } as unknown as MatrixEvent);
grouperHangup.add({
getContent: () => {
return {
@@ -86,7 +86,7 @@ describe('CallEventGrouper', () => {
sender: {
userId: THEIR_USER_ID,
},
- });
+ } as unknown as MatrixEvent);
grouperReject.add({
getContent: () => {
@@ -100,7 +100,7 @@ describe('CallEventGrouper', () => {
sender: {
userId: MY_USER_ID,
},
- });
+ } as unknown as MatrixEvent);
grouperReject.add({
getContent: () => {
return {
@@ -113,7 +113,7 @@ describe('CallEventGrouper', () => {
sender: {
userId: THEIR_USER_ID,
},
- });
+ } as unknown as MatrixEvent);
expect(grouperHangup.state).toBe(CallState.Ended);
expect(grouperReject.state).toBe(CallState.Ended);
@@ -134,7 +134,7 @@ describe('CallEventGrouper', () => {
getType: () => {
return EventType.CallInvite;
},
- });
+ } as unknown as MatrixEvent);
expect(grouper.isVoice).toBe(false);
});
diff --git a/test/components/structures/auth/Login-test.tsx b/test/components/structures/auth/Login-test.tsx
index 741f4f5c56..4f41f57eb5 100644
--- a/test/components/structures/auth/Login-test.tsx
+++ b/test/components/structures/auth/Login-test.tsx
@@ -17,7 +17,8 @@ limitations under the License.
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import ReactTestUtils from 'react-dom/test-utils';
-import { createClient } from "matrix-js-sdk/src/matrix";
+import { mocked } from 'jest-mock';
+import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix";
import sdk from '../../../skinned-sdk';
import SdkConfig from '../../../../src/SdkConfig';
@@ -35,10 +36,10 @@ const Login = sdk.getComponent(
describe('Login', function() {
let parentDiv;
- const mockClient = {
+ const mockClient = mocked({
login: jest.fn().mockResolvedValue({}),
loginFlows: jest.fn(),
- };
+ } as unknown as MatrixClient);
beforeEach(function() {
jest.spyOn(SdkConfig, "get").mockReturnValue({
@@ -47,7 +48,7 @@ describe('Login', function() {
});
mockClient.login.mockClear().mockResolvedValue({});
mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.password" }] });
- createClient.mockReturnValue(mockClient);
+ mocked(createClient).mockReturnValue(mockClient);
parentDiv = document.createElement('div');
document.body.appendChild(parentDiv);
@@ -101,7 +102,7 @@ describe('Login', function() {
});
it("should show SSO button if that flow is available", async () => {
- mockClient.loginFlows.mockReturnValue({ flows: [{ type: "m.login.sso" }] });
+ mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.sso" }] });
const root = render();
await flushPromises();
@@ -111,7 +112,7 @@ describe('Login', function() {
});
it("should show both SSO button and username+password if both are available", async () => {
- mockClient.loginFlows.mockReturnValue({ flows: [{ type: "m.login.password" }, { type: "m.login.sso" }] });
+ mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.password" }, { type: "m.login.sso" }] });
const root = render();
await flushPromises();
@@ -124,7 +125,7 @@ describe('Login', function() {
});
it("should show multiple SSO buttons if multiple identity_providers are available", async () => {
- mockClient.loginFlows.mockReturnValue({
+ mockClient.loginFlows.mockResolvedValue({
flows: [{
"type": "m.login.sso",
"identity_providers": [{
diff --git a/test/components/views/context_menus/ContextMenu-test.tsx b/test/components/views/context_menus/ContextMenu-test.tsx
index 29a041f0f0..3ea0fbac55 100644
--- a/test/components/views/context_menus/ContextMenu-test.tsx
+++ b/test/components/views/context_menus/ContextMenu-test.tsx
@@ -18,8 +18,8 @@ import React from "react";
import { mount } from "enzyme";
import "../../../skinned-sdk";
-import ContextMenu, { ChevronFace } from "../../../../src/components/structures/ContextMenu.tsx";
-import UIStore from "../../../../src/stores/UIStore.ts";
+import ContextMenu, { ChevronFace } from "../../../../src/components/structures/ContextMenu";
+import UIStore from "../../../../src/stores/UIStore";
describe("", () => {
// Hardcode window and menu dimensions
@@ -28,7 +28,7 @@ describe("", () => {
jest.spyOn(UIStore, "instance", "get").mockImplementation(() => ({
windowWidth: windowSize,
windowHeight: windowSize,
- }));
+ }) as unknown as UIStore);
window.Element.prototype.getBoundingClientRect = jest.fn().mockReturnValue({
width: menuSize,
height: menuSize,
@@ -38,19 +38,22 @@ describe("", () => {
describe("near top edge of window", () => {
const targetY = -50;
+ const onFinished = jest.fn();
const wrapper = mount(
,
);
const chevron = wrapper.find(".mx_ContextualMenu_chevron_left");
- const actualY = windowSize - parseInt(wrapper.getDOMNode().style.getPropertyValue("bottom")) - menuSize;
- const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("top"));
+ const bottomStyle = parseInt(wrapper.getDOMNode().style.getPropertyValue("bottom"));
+ const actualY = windowSize - bottomStyle - menuSize;
+ const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("top"));
it("stays within the window", () => {
expect(actualY).toBeGreaterThanOrEqual(0);
@@ -62,10 +65,12 @@ describe("", () => {
describe("near right edge of window", () => {
const targetX = windowSize - menuSize + 50;
+ const onFinished = jest.fn();
const wrapper = mount(
", () => {
);
const chevron = wrapper.find(".mx_ContextualMenu_chevron_top");
- const actualX = parseInt(wrapper.getDOMNode().style.getPropertyValue("left"));
- const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("left"));
+ const actualX = parseInt(wrapper.getDOMNode().style.getPropertyValue("left"));
+ const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("left"));
it("stays within the window", () => {
expect(actualX + menuSize).toBeLessThanOrEqual(windowSize);
@@ -86,19 +91,21 @@ describe("", () => {
describe("near bottom edge of window", () => {
const targetY = windowSize - menuSize + 50;
+ const onFinished = jest.fn();
const wrapper = mount(
,
);
const chevron = wrapper.find(".mx_ContextualMenu_chevron_right");
- const actualY = parseInt(wrapper.getDOMNode().style.getPropertyValue("top"));
- const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("top"));
+ const actualY = parseInt(wrapper.getDOMNode().style.getPropertyValue("top"));
+ const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("top"));
it("stays within the window", () => {
expect(actualY + menuSize).toBeLessThanOrEqual(windowSize);
@@ -110,19 +117,22 @@ describe("", () => {
describe("near left edge of window", () => {
const targetX = -50;
+ const onFinished = jest.fn();
const wrapper = mount(
,
);
const chevron = wrapper.find(".mx_ContextualMenu_chevron_bottom");
- const actualX = windowSize - parseInt(wrapper.getDOMNode().style.getPropertyValue("right")) - menuSize;
- const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("left"));
+ const rightStyle = parseInt(wrapper.getDOMNode().style.getPropertyValue("right"));
+ const actualX = windowSize - rightStyle - menuSize;
+ const actualChevronOffset = parseInt(chevron.getDOMNode().style.getPropertyValue("left"));
it("stays within the window", () => {
expect(actualX).toBeGreaterThanOrEqual(0);
diff --git a/tsconfig.json b/tsconfig.json
index 4f09a98e99..64bff21d29 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -28,5 +28,9 @@
"./test/utils/**/*.tsx",
"./test/stores/**/*.ts",
"./test/stores/**/*.tsx",
+ "./test/components/structures/**/*.ts",
+ "./test/components/structures/**/*.tsx",
+ "./test/components/views/context_menus/**/*.ts",
+ "./test/components/views/context_menus/**/*.tsx",
],
}