Rendertest fuer den Debug-Bereich der App (215/215)

Der gefuellte Zweig der drei Debug-Kacheln war bisher nur strukturell belegt:
die Beispieldaten trugen keine Geraetemeldung, der Alle-Seiten-Rendertest lief
also immer in den Leerzustand.

beispieldaten.ts traegt jetzt eine echte Meldung des FMM003 nach (Testinstanz,
04.09.2026) - mit Geraetezeit VOR der Ankunft, denn genau der Rueckstand
zwischen beiden ist der Zweck dieser Anzeige. Der neue Test prueft, dass die
Kacheln zugeklappt NICHT existieren und nach dem Aufklappen Geraetename,
Werte samt Einheit und den Rueckstand zeigen.
This commit is contained in:
2026-09-04 12:31:28 +02:00
parent 4ab6b9fca5
commit 6fb8375ad6
2 changed files with 45 additions and 1 deletions
@@ -40,6 +40,29 @@ function zeige(name: SeitenName, id?: string, geheZu: (name: SeitenName, id?: st
)
}
describe("Einstellungen: Debug-Mode", () => {
beforeEach(() => {
bildschirmbreiteSetzen(390)
})
it("zeigt Zugaenge, Dongle und den letzten Datensatz erst nach dem Aufklappen", async () => {
const { container } = zeige("einst")
await waitFor(() => expect(screen.getByText("Debug-Mode")).toBeTruthy())
// Zugeklappt: die Kacheln sind nicht bloss unsichtbar, sie stehen nicht da.
expect(screen.queryByText("Letzter Datensatz")).toBeNull()
fireEvent.click(screen.getByText("Öffnen"))
await waitFor(() => expect(screen.getByText("Letzter Datensatz")).toBeTruthy())
// Der gefuellte Zweig, nicht der Leerzustand: Geraet, Werte und der
// Rueckstand zwischen Geraetezeit und Ankunft (11 h 18 min = 40.686 s).
expect(screen.getByText("FMM003 - Testintegratoin")).toBeTruthy()
expect(screen.getByText("CAN fuel volume")).toBeTruthy()
expect(screen.getByText("7 liters")).toBeTruthy()
expect(container.textContent).toContain("Rückstand")
})
})
describe("Alle Seiten rendern mit Beispieldaten", () => {
beforeEach(() => {
bildschirmbreiteSetzen(390)
+22 -1
View File
@@ -213,6 +213,27 @@ export function beispielApi(): DataMetricApi {
// Fehlte sie hier ganz, endete jede Ladung im Fangzweig von neuLaden -
// die Seiten rendern trotzdem, aber ein Test ueber den Ladefehler waere
// wertlos.
appVersionAngabeLesen: async () => null,
/* Mit Inhalt, damit die Kacheln des Debug-Bereichs im Rendertest ihren
gefuellten Zweig durchlaufen und nicht nur den Leerzustand. Die Werte
sind einer echten Meldung des FMM003 nachgebildet (Testinstanz,
04.09.2026): die Geraetezeit liegt VOR der Ankunft, genau darum geht es
bei dieser Anzeige. */
appVersionAngabeLesen: async () => ({
app: "2026.9.4.11",
buendel: null,
integration_update: null,
zugaenge: [],
letzter_datensatz: {
geraet: "FMM003 - Testintegratoin",
angekommen: "2026-09-04T10:07:08.308151+00:00",
meldezeit: "2026-09-03T22:49:02.010000+00:00",
werte: [
{ name: "CAN fuel volume", wert: "7", einheit: "liters" },
{ name: "External power voltage", wert: "12.149", einheit: "volts" },
{ name: "Altitude", wert: "414", einheit: "meters" },
],
gesamt: 46,
},
}),
} as unknown as DataMetricApi
}