32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
import { render, screen } from "@testing-library/react";
|
|
import { MemoryRouter } from "react-router-dom";
|
|
import { describe, expect, test, vi } from "vitest";
|
|
import { EXTERNAL_CAPABILITIES } from "../config/capabilities.js";
|
|
import OverviewPage from "./OverviewPage.jsx";
|
|
|
|
const authState = vi.hoisted(() => ({
|
|
session: {
|
|
account: "fami-operator",
|
|
appCode: "fami",
|
|
appName: "Fami",
|
|
capabilities: ["user:list"]
|
|
}
|
|
}));
|
|
|
|
vi.mock("../auth/ExternalAuthProvider.jsx", () => ({
|
|
useExternalAuth: () => authState
|
|
}));
|
|
|
|
describe("OverviewPage", () => {
|
|
test("renders all 20 market capability entries and only links enabled entries", () => {
|
|
render(<MemoryRouter><OverviewPage /></MemoryRouter>);
|
|
|
|
expect(EXTERNAL_CAPABILITIES).toHaveLength(20);
|
|
expect(screen.getAllByText("Enabled")).toHaveLength(1);
|
|
expect(screen.getAllByText("Not enabled")).toHaveLength(19);
|
|
expect(screen.getByText("User list").closest("a")).toHaveAttribute("href", "/users");
|
|
expect(screen.getByText("Edit user information").closest("a")).toBeNull();
|
|
expect(screen.getByText("My team")).toBeInTheDocument();
|
|
});
|
|
});
|