fix(test): CI-Runner-Node hatte Blob ohne .stream() - kein echtes Response mehr
new Response(new Blob(...)) schlug auf dem Gitea-Runner mit "object.stream is not a function" fehl (Node-Version dort mit unvollständiger Blob-Impl.), lokal (Node 22) unauffällig. ladeDokumentAnsehen braucht nur response.ok und response.blob() - Mock jetzt als einfaches Objekt statt echtem Response. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
@@ -46,9 +46,13 @@ describe("ladeDokumentAnsehen (Popup-Blocker-Fix)", () => {
|
||||
it("öffnet das Tab-Fenster SOFORT synchron, bevor fetch abgeschlossen ist", async () => {
|
||||
const tabStub = { location: { href: "" }, close: vi.fn() };
|
||||
const openSpy = vi.spyOn(window, "open").mockReturnValue(tabStub as unknown as Window);
|
||||
(fetch as ReturnType<typeof vi.fn>).mockResolvedValue(
|
||||
new Response(new Blob(["pdf-inhalt"]), { status: 200 })
|
||||
);
|
||||
// Kein echtes Response/Blob-Objekt - manche Node-Versionen (CI-Runner)
|
||||
// haben eine Blob-Implementierung ohne .stream(), die new Response(blob)
|
||||
// dann intern braucht. ladeDokumentAnsehen nutzt nur .ok und .blob().
|
||||
(fetch as ReturnType<typeof vi.fn>).mockResolvedValue({
|
||||
ok: true,
|
||||
blob: () => Promise.resolve(new Blob(["pdf-inhalt"])),
|
||||
});
|
||||
vi.stubGlobal("URL", { ...URL, createObjectURL: vi.fn().mockReturnValue("blob:fake-url") });
|
||||
|
||||
const promise = ladeDokumentAnsehen("abc-123");
|
||||
@@ -63,9 +67,13 @@ describe("ladeDokumentAnsehen (Popup-Blocker-Fix)", () => {
|
||||
|
||||
it("fällt bei blockiertem Popup auf denselben Tab zurück statt zu crashen", async () => {
|
||||
vi.spyOn(window, "open").mockReturnValue(null);
|
||||
(fetch as ReturnType<typeof vi.fn>).mockResolvedValue(
|
||||
new Response(new Blob(["pdf-inhalt"]), { status: 200 })
|
||||
);
|
||||
// Kein echtes Response/Blob-Objekt - manche Node-Versionen (CI-Runner)
|
||||
// haben eine Blob-Implementierung ohne .stream(), die new Response(blob)
|
||||
// dann intern braucht. ladeDokumentAnsehen nutzt nur .ok und .blob().
|
||||
(fetch as ReturnType<typeof vi.fn>).mockResolvedValue({
|
||||
ok: true,
|
||||
blob: () => Promise.resolve(new Blob(["pdf-inhalt"])),
|
||||
});
|
||||
vi.stubGlobal("URL", { ...URL, createObjectURL: vi.fn().mockReturnValue("blob:fake-url") });
|
||||
const ortsStub = { href: "" };
|
||||
vi.stubGlobal("location", ortsStub);
|
||||
|
||||
Reference in New Issue
Block a user