26 lines
1.4 KiB
TypeScript
26 lines
1.4 KiB
TypeScript
import { screen } from "@testing-library/react";
|
||
import { describe, expect, it } from "vitest";
|
||
import type { Project } from "../../api/types.ts";
|
||
import { renderWithProviders } from "../../test/render.tsx";
|
||
import { Summary } from "./Summary.tsx";
|
||
|
||
const P = { label: "AWPCA", name: "АРМ КА", board_id: null, board_type: null, created_at: "", issues_count: 0, wiki_root: "DOC-1", wiki_pages: 28 } as unknown as Project;
|
||
|
||
describe("сводка вики", () => {
|
||
it("число страниц", () => {
|
||
renderWithProviders(<Summary project={P} />);
|
||
expect(screen.getByText("28 страниц")).toBeInTheDocument();
|
||
});
|
||
|
||
it("T5.4: корень есть, синхронизации не было (wiki_pages = null) — «ещё не синхронизирована», а не «0 страниц»", () => {
|
||
renderWithProviders(<Summary project={{ ...P, wiki_pages: null } as unknown as Project} />);
|
||
expect(screen.getByText("ещё не синхронизирована")).toBeInTheDocument();
|
||
expect(screen.queryByText(/0 страниц/)).toBeNull();
|
||
});
|
||
|
||
it("у проекта с корнем — ссылка «Правки» на ленту с источником вики", () => {
|
||
renderWithProviders(<Summary project={P} />);
|
||
expect(screen.getByRole("link", { name: "Правки" })).toHaveAttribute("href", "/feed?project=AWPCA&sources=wiki");
|
||
});
|
||
});
|