| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /* @vitest-environment node */
- import { describe, it, expect } from "vitest";
- import { getPrimaryNavFromPathname, PRIMARY_NAV } from "./activeRoute.js";
- describe("lib/frontend/nav/activeRoute", () => {
- it("returns null for non-branch routes", () => {
- expect(getPrimaryNavFromPathname("/")).toBe(null);
- expect(getPrimaryNavFromPathname("/login")).toBe(null);
- expect(getPrimaryNavFromPathname("/forbidden")).toBe(null);
- expect(getPrimaryNavFromPathname("/search")).toBe(null);
- });
- it("marks explorer active for /:branch and /:branch/... (non-search)", () => {
- expect(getPrimaryNavFromPathname("/NL01")).toEqual({
- active: PRIMARY_NAV.EXPLORER,
- branch: "NL01",
- });
- expect(getPrimaryNavFromPathname("/NL01/2025/12/31")).toEqual({
- active: PRIMARY_NAV.EXPLORER,
- branch: "NL01",
- });
- });
- it("marks search active for /:branch/search", () => {
- expect(getPrimaryNavFromPathname("/NL01/search")).toEqual({
- active: PRIMARY_NAV.SEARCH,
- branch: "NL01",
- });
- expect(getPrimaryNavFromPathname("/NL01/search/anything")).toEqual({
- active: PRIMARY_NAV.SEARCH,
- branch: "NL01",
- });
- });
- it("returns null for invalid branch segment", () => {
- expect(getPrimaryNavFromPathname("/nl01")).toBe(null);
- expect(getPrimaryNavFromPathname("/XX01")).toBe(null);
- });
- });
|