| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* @vitest-environment node */
- import { describe, it, expect } from "vitest";
- import { buildOverviewCards } from "./cardsConfig.js";
- describe("lib/frontend/overview/cardsConfig", () => {
- it("returns 3 cards when user management is not allowed", () => {
- const cards = buildOverviewCards({
- explorerHref: "/NL01",
- searchHref: "/NL01/search",
- canManageUsers: false,
- disabledHint: "Bitte zuerst eine gültige Niederlassung wählen.",
- });
- expect(cards).toHaveLength(3);
- expect(cards.map((x) => x.key)).toEqual(["explorer", "search", "profile"]);
- });
- it("returns 4 cards when user management is allowed", () => {
- const cards = buildOverviewCards({
- explorerHref: "/NL01",
- searchHref: "/NL01/search",
- canManageUsers: true,
- disabledHint: "Bitte zuerst eine gültige Niederlassung wählen.",
- });
- expect(cards).toHaveLength(4);
- expect(cards.map((x) => x.key)).toEqual([
- "explorer",
- "search",
- "profile",
- "users",
- ]);
- });
- it("uses explorer/search hrefs and assigns disabledHint only to branch cards", () => {
- const cards = buildOverviewCards({
- explorerHref: null,
- searchHref: null,
- canManageUsers: true,
- disabledHint: "Bitte zuerst eine gültige Niederlassung wählen.",
- });
- const byKey = Object.fromEntries(cards.map((card) => [card.key, card]));
- expect(byKey.explorer.href).toBe(null);
- expect(byKey.search.href).toBe(null);
- expect(byKey.profile.href).toBe("/profile");
- expect(byKey.users.href).toBe("/admin/users");
- expect(byKey.explorer.disabledHint).toBe(
- "Bitte zuerst eine gültige Niederlassung wählen.",
- );
- expect(byKey.search.disabledHint).toBe(
- "Bitte zuerst eine gültige Niederlassung wählen.",
- );
- expect(byKey.profile.disabledHint).toBe(null);
- expect(byKey.users.disabledHint).toBe(null);
- });
- });
|