App.test.ts 826 B

1234567891011121314151617
  1. import { describe, expect, it } from "vitest";
  2. import { deriveActiveBookId } from "./App";
  3. describe("deriveActiveBookId", () => {
  4. it("returns the current book across book-centered routes", () => {
  5. expect(deriveActiveBookId({ page: "book", bookId: "alpha" })).toBe("alpha");
  6. expect(deriveActiveBookId({ page: "chapter", bookId: "beta", chapterNumber: 3 })).toBe("beta");
  7. expect(deriveActiveBookId({ page: "truth", bookId: "gamma" })).toBe("gamma");
  8. expect(deriveActiveBookId({ page: "analytics", bookId: "delta" })).toBe("delta");
  9. });
  10. it("returns undefined for non-book routes", () => {
  11. expect(deriveActiveBookId({ page: "dashboard" })).toBeUndefined();
  12. expect(deriveActiveBookId({ page: "config" })).toBeUndefined();
  13. expect(deriveActiveBookId({ page: "style" })).toBeUndefined();
  14. });
  15. });