Skip to content

Commit f79ca02

Browse files
committed
Store test files alongside source files
This way we benefit from not having to maintain the same directory structure twice, and our linters etc. will actually lint test files by default.
1 parent dff34d7 commit f79ca02

28 files changed

+67
-30
lines changed

src/Avatar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ limitations under the License.
1717
import { useMemo, FC } from "react";
1818
import { Avatar as CompoundAvatar } from "@vector-im/compound-web";
1919

20-
import { getAvatarUrl } from "./matrix-utils";
20+
import { getAvatarUrl } from "./utils/matrix";
2121
import { useClient } from "./ClientContext";
2222

2323
export enum Size {

src/ClientContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import {
3939
CryptoStoreIntegrityError,
4040
fallbackICEServerAllowed,
4141
initClient,
42-
} from "./matrix-utils";
42+
} from "./utils/matrix";
4343
import { widget } from "./widget";
4444
import {
4545
PosthogAnalytics,

test/Toast-test.tsx renamed to src/Toast.test.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ limitations under the License.
1616

1717
import { vi } from "vitest";
1818
import { screen, render } from "@testing-library/react";
19-
import { Toast } from "../src/Toast";
2019
import userEvent from "@testing-library/user-event";
21-
import { withFakeTimers } from "./utils";
20+
21+
import { Toast } from "../src/Toast";
22+
import { withFakeTimers } from "./utils/test";
2223

2324
test("Toast renders", () => {
2425
render(
File renamed without changes.

src/__snapshots__/Toast.test.tsx.snap

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2+
3+
exports[`Toast renders 1`] = `
4+
<button
5+
aria-labelledby="radix-:r4:"
6+
class="overlay animate toast"
7+
data-state="open"
8+
id="radix-:r3:"
9+
role="dialog"
10+
style="pointer-events: auto;"
11+
tabindex="-1"
12+
type="button"
13+
>
14+
<h3
15+
class="_typography_yh5dq_162 _font-body-sm-semibold_yh5dq_45"
16+
id="radix-:r4:"
17+
>
18+
Hello world!
19+
</h3>
20+
</button>
21+
`;

src/auth/useInteractiveLogin.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
MatrixClient,
2323
} from "matrix-js-sdk/src/matrix";
2424

25-
import { initClient } from "../matrix-utils";
25+
import { initClient } from "../utils/matrix";
2626
import { Session } from "../ClientContext";
2727

2828
export function useInteractiveLogin(): (

src/auth/useInteractiveRegistration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
RegisterResponse,
2323
} from "matrix-js-sdk/src/matrix";
2424

25-
import { initClient } from "../matrix-utils";
25+
import { initClient } from "../utils/matrix";
2626
import { Session } from "../ClientContext";
2727
import { Config } from "../config/Config";
2828
import { widget } from "../widget";

test/home/CallList-test.tsx renamed to src/home/CallList.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ limitations under the License.
1515
*/
1616

1717
import { render, RenderResult } from "@testing-library/react";
18-
import { CallList } from "../../src/home/CallList";
1918
import { MatrixClient } from "matrix-js-sdk";
20-
import { GroupCallRoom } from "../../src/home/useGroupCallRooms";
2119
import { MemoryRouter } from "react-router-dom";
22-
import { ClientProvider } from "../../src/ClientContext";
20+
21+
import { CallList } from "../../src/home/CallList";
22+
import { GroupCallRoom } from "../../src/home/useGroupCallRooms";
2323

2424
describe("CallList", () => {
2525
const renderComponent = (rooms: GroupCallRoom[]): RenderResult => {

src/home/CallList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { FC } from "react";
2323
import { CopyButton } from "../button";
2424
import { Avatar, Size } from "../Avatar";
2525
import styles from "./CallList.module.css";
26-
import { getAbsoluteRoomUrl, getRelativeRoomUrl } from "../matrix-utils";
26+
import { getAbsoluteRoomUrl, getRelativeRoomUrl } from "../utils/matrix";
2727
import { Body } from "../typography/Typography";
2828
import { GroupCallRoom } from "./useGroupCallRooms";
2929
import { useRoomEncryptionSystem } from "../e2ee/sharedKeyManagement";

src/home/RegisteredView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
getRelativeRoomUrl,
2727
roomAliasLocalpartFromRoomName,
2828
sanitiseRoomNameInput,
29-
} from "../matrix-utils";
29+
} from "../utils/matrix";
3030
import { useGroupCallRooms } from "./useGroupCallRooms";
3131
import { Header, HeaderLogo, LeftNav, RightNav } from "../Header";
3232
import commonStyles from "./common.module.css";

src/home/UnauthenticatedView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import {
3131
getRelativeRoomUrl,
3232
roomAliasLocalpartFromRoomName,
3333
sanitiseRoomNameInput,
34-
} from "../matrix-utils";
34+
} from "../utils/matrix";
3535
import { useInteractiveRegistration } from "../auth/useInteractiveRegistration";
3636
import { JoinExistingCallModal } from "./JoinExistingCallModal";
3737
import { useRecaptcha } from "../auth/useRecaptcha";
File renamed without changes.

test/otel/ObjectFlattener-test.ts renamed to src/otel/ObjectFlattener.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,26 @@
1+
/*
2+
Copyright 2024 New Vector Ltd
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
117
import { GroupCallStatsReport } from "matrix-js-sdk/src/webrtc/groupCall";
218
import {
319
AudioConcealment,
420
ByteSentStatsReport,
521
ConnectionStatsReport,
622
} from "matrix-js-sdk/src/webrtc/stats/statsReport";
23+
724
import { ObjectFlattener } from "../../src/otel/ObjectFlattener";
825

926
/*

src/room/AppSelectionModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { logger } from "matrix-js-sdk/src/logger";
2222

2323
import { Modal } from "../Modal";
2424
import { useRoomEncryptionSystem } from "../e2ee/sharedKeyManagement";
25-
import { getAbsoluteRoomUrl } from "../matrix-utils";
25+
import { getAbsoluteRoomUrl } from "../utils/matrix";
2626
import styles from "./AppSelectionModal.module.css";
2727
import { editFragmentQuery } from "../UrlParams";
2828
import { E2eeType } from "../e2ee/e2eeType";

src/room/GroupCallView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import { MatrixInfo } from "./VideoPreview";
3535
import { CallEndedView } from "./CallEndedView";
3636
import { PosthogAnalytics } from "../analytics/PosthogAnalytics";
3737
import { useProfile } from "../profile/useProfile";
38-
import { findDeviceByName } from "../media-utils";
38+
import { findDeviceByName } from "../utils/media";
3939
import { ActiveCall } from "./InCallView";
4040
import { MUTE_PARTICIPANT_COUNT, MuteStates } from "./MuteStates";
4141
import { useMediaDevices, MediaDevices } from "../livekit/MediaDevicesContext";

src/room/InviteModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import CheckIcon from "@vector-im/compound-design-tokens/icons/check.svg?react";
2323
import useClipboard from "react-use-clipboard";
2424

2525
import { Modal } from "../Modal";
26-
import { getAbsoluteRoomUrl } from "../matrix-utils";
26+
import { getAbsoluteRoomUrl } from "../utils/matrix";
2727
import styles from "./InviteModal.module.css";
2828
import { Toast } from "../Toast";
2929
import { useRoomEncryptionSystem } from "../e2ee/sharedKeyManagement";

test/room/checkForParallelCalls-test.ts renamed to src/room/checkForParallelCalls.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ limitations under the License.
1616

1717
import { vi, Mocked } from "vitest";
1818
import { RoomState } from "matrix-js-sdk/src/models/room-state";
19+
1920
import { PosthogAnalytics } from "../../src/analytics/PosthogAnalytics";
2021
import { checkForParallelCalls } from "../../src/room/checkForParallelCalls";
21-
import { withFakeTimers } from "../utils";
22+
import { withFakeTimers } from "../utils/test";
2223

2324
const withMockedPosthog = (
2425
continuation: (posthog: Mocked<PosthogAnalytics>) => void,
25-
) => {
26+
): void => {
2627
const posthog = vi.mocked({
2728
trackEvent: vi.fn(),
2829
} as unknown as PosthogAnalytics);
@@ -40,7 +41,7 @@ const mockRoomState = (
4041
groupCallMemberContents: Record<string, unknown>[],
4142
): RoomState => {
4243
const stateEvents = groupCallMemberContents.map((content) => ({
43-
getContent: () => content,
44+
getContent: (): Record<string, unknown> => content,
4445
}));
4546
return { getStateEvents: () => stateEvents } as unknown as RoomState;
4647
};
File renamed without changes.

src/state/CallViewModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ import {
6767
ScreenShareViewModel,
6868
UserMediaViewModel,
6969
} from "./MediaViewModel";
70-
import { accumulate, finalizeValue } from "../observable-utils";
70+
import { accumulate, finalizeValue } from "../utils/observable";
7171
import { ObservableScope } from "./ObservableScope";
7272

7373
// How long we wait after a focus switch before showing the real participant
File renamed without changes.

src/matrix-utils.ts renamed to src/utils/matrix.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ import { secureRandomBase64Url } from "matrix-js-sdk/src/randomstring";
3232

3333
import type { MatrixClient } from "matrix-js-sdk/src/client";
3434
import type { Room } from "matrix-js-sdk/src/models/room";
35-
import IndexedDBWorker from "./IndexedDBWorker?worker";
36-
import { generateUrlSearchParams, getUrlParams } from "./UrlParams";
37-
import { loadOlm } from "./olm";
38-
import { Config } from "./config/Config";
39-
import { E2eeType } from "./e2ee/e2eeType";
40-
import { EncryptionSystem, saveKeyForRoom } from "./e2ee/sharedKeyManagement";
35+
import IndexedDBWorker from "../IndexedDBWorker?worker";
36+
import { generateUrlSearchParams, getUrlParams } from "../UrlParams";
37+
import { loadOlm } from "../olm";
38+
import { Config } from "../config/Config";
39+
import { E2eeType } from "../e2ee/e2eeType";
40+
import { EncryptionSystem, saveKeyForRoom } from "../e2ee/sharedKeyManagement";
4141

4242
export const fallbackICEServerAllowed =
4343
import.meta.env.VITE_FALLBACK_STUN_ALLOWED === "true";
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

tsconfig.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@
4848
"./node_modules/matrix-js-sdk/src/@types/*.d.ts",
4949
"./node_modules/vitest/globals.d.ts",
5050
"./src/**/*.ts",
51-
"./src/**/*.tsx",
52-
"./test/**/*.ts",
53-
"./test/**/*.tsx"
51+
"./src/**/*.tsx"
5452
]
5553
}

vitest.config.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ export default defineConfig((configEnv) =>
1313
classNameStrategy: "non-scoped",
1414
},
1515
},
16-
include: ["test/**/*-test.[jt]s?(x)"],
1716
isolate: false,
18-
setupFiles: ["test/setup.ts"],
17+
setupFiles: ["src/vitest.setup.ts"],
1918
coverage: {
2019
reporter: ["html", "json"],
2120
include: ["src/"],

0 commit comments

Comments
 (0)