From dd23f3fb4c2246fedc6f19fa81da51c71b9560ac Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 25 Sep 2026 18:34:54 +0200 Subject: [PATCH] =?UTF-8?q?Welle=203=20=C2=B7=20Tests=20der=20Update-Tabel?= =?UTF-8?q?le=20mit=20Query-Client=20(die=20Tabelle=20hat=20seit=20heute?= =?UTF-8?q?=20eigene=20Abfragen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../src/components/homelab/UpdateTabelle.test.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/homelab/UpdateTabelle.test.tsx b/frontend/src/components/homelab/UpdateTabelle.test.tsx index 8ceb9e6..b40aec5 100644 --- a/frontend/src/components/homelab/UpdateTabelle.test.tsx +++ b/frontend/src/components/homelab/UpdateTabelle.test.tsx @@ -1,8 +1,13 @@ +import type { ReactElement } from "react" +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" import { fireEvent, render, screen, within } from "@testing-library/react" import type { Sammellauf, ZielStand } from "@/lib/typen" import { SammellaufFortschritt } from "./Sammellauf" import { UpdateTabelle } from "./UpdateTabelle" +// Seit 25.09.2026 hat die Tabelle eigene Knöpfe mit Abfragen („Version überspringen“, „Was ist neu?“). +const mitAbfragen = (ui: ReactElement) => render({ui}) + const pakete = { methode: "POST", pfad: "/api/homelab/ziele/ct-102/os-update", label: "Jetzt updaten", frage: "48 Pakete im Gast jetzt einspielen? Vorher wird ein Snapshot angelegt.", @@ -27,7 +32,7 @@ const gitea: ZielStand = { describe("UpdateTabelle", () => { it("zeigt je Gerät die App-Version, den Paketstand und warum ein Knopf fehlt", () => { - render( {}} />) + mitAbfragen( {}} />) const zeilen = screen.getAllByRole("row").slice(1) // Was sich einspielen lässt, steht oben — auch wenn es später geliefert wurde. expect(within(zeilen[0]).getByRole("rowheader")).toHaveTextContent("NetBird") @@ -42,7 +47,7 @@ describe("UpdateTabelle", () => { it("fragt vor dem Einspielen mit dem Text des Geräts", () => { const start = vi.fn() - render() + mitAbfragen() fireEvent.click(screen.getByRole("button", { name: "Pakete einspielen" })) const dialog = screen.getByRole("dialog") expect(within(dialog).getByText(/Vorher wird ein Snapshot angelegt/)).toBeInTheDocument() @@ -51,7 +56,7 @@ describe("UpdateTabelle", () => { }) it("zeigt den laufenden Schritt statt der Knöpfe", () => { - render( {}} />) + mitAbfragen( {}} />) expect(screen.getByRole("status")).toHaveTextContent("Läuft: Snapshot …") expect(screen.queryByRole("button", { name: "Pakete einspielen" })).not.toBeInTheDocument() })