feat(web): bibliothèque et lecteur — grilles de livres bornées à 5 colonnes (max-width calc sur .book-grid et .home-book-grid), retrait du bandeau « API absente ou incomplete » de l'accueil, et véritables pages d'erreur « Livre introuvable » sur fiche et lecteur (suppression de getApiFallback, retour à l'accueil + réessayer — évolution #46)
This commit is contained in:
23
apps/web/src/pages/BookErrorPages.test.ts
Normal file
23
apps/web/src/pages/BookErrorPages.test.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import { readFileSync } from "node:fs";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
describe("book missing error pages", () => {
|
||||
it("does not render fallback books on the book detail page", () => {
|
||||
const source = readFileSync(new URL("./BookPage.tsx", import.meta.url), "utf8");
|
||||
|
||||
expect(source).not.toContain("getApiFallback");
|
||||
expect(source).toContain("setBook(null)");
|
||||
expect(source).toContain("Livre introuvable");
|
||||
expect(source).toContain("Ce livre n'existe pas dans le catalogue.");
|
||||
});
|
||||
|
||||
it("does not open the reader with a fallback book", () => {
|
||||
const source = readFileSync(new URL("./ReaderPage.tsx", import.meta.url), "utf8");
|
||||
|
||||
expect(source).not.toContain("getApiFallback");
|
||||
expect(source).toContain("setBook(null)");
|
||||
expect(source).toContain("reader-missing-page");
|
||||
expect(source).toContain("Livre introuvable");
|
||||
expect(source).toContain("Ce livre n'existe pas dans le catalogue.");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user