Files
ThreadNet-Web/apps/web/test/unit-tests/TestSDKContext.ts
T
Michael TelatynskiandGitHub bbec915fb0 Enable more oxlint rules (#34189)
* Fix type imports

* Fix jsdoc

* Fixup types

* Fix stray awaits on non-thenables

* Fixup imports

* Fix splats

* Fix this-context on callbacks

* Memoise react contexts

* Prefer find/flatMap

* Make oxlint happier about our React keys

* Avoid unsafe default function params

* Fixup jsdoc

* Fixup contexts

* Switch from eslint to oxlint

* Some oxlint-related tweaks

* Iterate

* Partial revert to defer some changes and shrink diff

* Iterate

* Add eslint-plugin-element-call and enable the copyright rule

* Set strictStorePkgContentCheck

* Iterate

* Enable forwardRef oxlint rule

* Enable no-unused-vars oxlint rule

* Enable no-implied-eval oxlint rule

* Enable no-duplicate-type-constituents oxlint rule

* Enable explicit-length-check oxlint rule

* Enable prefer-number-properties oxlint rule

* Enable no-callback-in-promise oxlint rule

* Enable no-require-imports oxlint rule

* Remove disablement of most unicorn oxlint rules

* Enable no-conditional-tests oxlint rule

* Enable promise-valid-params oxlint rule

* Enable require-unicode-regexp oxlint rule

* Remove max-len comments as we use oxfmt for formatting

* Enable majority of oxlint `suspicious` rules

* Iterate

* Fix oxlint type-aware lint running without dependencies built
2026-07-29 08:26:07 +00:00

40 lines
2.0 KiB
TypeScript

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
import { type MatrixClient } from "matrix-js-sdk/src/matrix";
import { SDKContextClass } from "../../src/contexts/SDKContextClass";
import { type PosthogAnalytics } from "../../src/PosthogAnalytics";
import { type SlidingSyncManager } from "../../src/SlidingSyncManager";
import { type RoomNotificationStateStore } from "../../src/stores/notifications/RoomNotificationStateStore";
import type RightPanelStore from "../../src/stores/right-panel/RightPanelStore";
import { type RoomViewStore } from "../../src/stores/RoomViewStore";
import type SpaceStore from "../../src/stores/spaces/SpaceStore";
import { type WidgetLayoutStore } from "../../src/stores/widgets/WidgetLayoutStore";
import { type WidgetPermissionStore } from "../../src/stores/widgets/WidgetPermissionStore";
import type WidgetStore from "../../src/stores/WidgetStore";
import type LegacyCallHandler from "../../src/LegacyCallHandler.tsx";
/**
* A class which provides the same API as SDKContextClass but adds additional unsafe setters which can
* replace individual stores. This is useful for tests which need to mock out stores.
*/
export class TestSDKContext extends SDKContextClass {
declare public _client?: MatrixClient;
declare public _RightPanelStore?: RightPanelStore;
declare public _RoomNotificationStateStore?: RoomNotificationStateStore;
declare public _RoomViewStore?: RoomViewStore;
declare public _WidgetPermissionStore?: WidgetPermissionStore;
declare public _WidgetLayoutStore?: WidgetLayoutStore;
declare public _WidgetStore?: WidgetStore;
declare public _PosthogAnalytics?: PosthogAnalytics;
declare public _SlidingSyncManager?: SlidingSyncManager;
declare public _SpaceStore?: SpaceStore;
declare public _LegacyCallHandler?: LegacyCallHandler;
}