Fix tests

This commit is contained in:
Borislav Pantaleev 2025-01-30 09:43:30 +02:00 committed by Borislav Pantaleev
parent 62017d4f4e
commit 45c7027d3c
4 changed files with 1506 additions and 1434 deletions

View File

@ -68,8 +68,6 @@
"react-dom": "^18.3.1",
"react-hook-form": "^7.54.2",
"react-is": "^18.3.1",
"react-router": "^6.28.2",
"react-router-dom": "^6.28.2",
"ts-jest-mock-import-meta": "^1.2.1"
},
"scripts": {

View File

@ -1,12 +1,32 @@
import { render, screen } from "@testing-library/react";
import { BrowserRouter } from "react-router-dom";
import fetchMock from "jest-fetch-mock";
fetchMock.enableMocks();
jest.mock("./synapse/authProvider", () => ({
__esModule: true,
default: {
logout: jest.fn().mockResolvedValue(undefined),
},
}));
import App from "./App";
describe("App", () => {
beforeEach(() => {
// Reset all mocks before each test
fetchMock.resetMocks();
// Mock any fetch call to return empty JSON immediately
fetchMock.mockResponseOnce(JSON.stringify({}));
});
it("renders", async () => {
render(<App />);
render(
<BrowserRouter>
<App />
</BrowserRouter>
);
await screen.findAllByText("Welcome to Synapse Admin");
});
});

View File

@ -2,6 +2,7 @@ import polyglotI18nProvider from "ra-i18n-polyglot";
import { render, screen } from "@testing-library/react";
import { AdminContext } from "react-admin";
import { BrowserRouter } from "react-router-dom";
import LoginPage from "./LoginPage";
import { AppContext } from "../Context";
@ -14,9 +15,11 @@ describe("LoginForm", () => {
it("renders with no restriction to homeserver", async () => {
await act(async () => {
render(
<BrowserRouter>
<AdminContext i18nProvider={i18nProvider}>
<LoginPage />
</AdminContext>
</BrowserRouter>
);
});
@ -33,6 +36,7 @@ describe("LoginForm", () => {
it("renders with single restricted homeserver", () => {
render(
<BrowserRouter>
<AppContext.Provider
value={{ restrictBaseUrl: "https://matrix.example.com", asManagedUsers: [], menu: [] }}
>
@ -40,6 +44,7 @@ describe("LoginForm", () => {
<LoginPage />
</AdminContext>
</AppContext.Provider>
</BrowserRouter>
);
screen.getByText(englishMessages.synapseadmin.auth.welcome);
@ -63,7 +68,9 @@ describe("LoginForm", () => {
}}
>
<AdminContext i18nProvider={i18nProvider}>
<BrowserRouter>
<LoginPage />
</BrowserRouter>
</AdminContext>
</AppContext.Provider>
);

2885
yarn.lock

File diff suppressed because it is too large Load Diff