Files
florian.wildeandClaude Opus 5.5 a9ea35cab5 fix(ui): Übersicht am Handy nicht breiter als der Bildschirm
Lange Zeilen unter „Letzte Deployments“ sprengten die Gitterspalte; der mobile Browser zoomte heraus, die Navigationsschublade verdeckte dann „Abmelden“. keinQuerscrollen misst jetzt gegen die eingestellte Breite – gegen innerWidth gemessen fiel das Herauszoomen nicht auf.

Refs #023

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 22:06:13 +02:00

31 lines
1.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { expect, type Page } from "@playwright/test";
export const BENUTZER = process.env["E2E_BENUTZER"] ?? "admin";
export const PASSWORT = process.env["E2E_PASSWORT"] ?? "proxdeploy-dev-admin";
export async function anmelden(page: Page, ziel = "/") {
await page.goto(ziel);
await expect(page).toHaveURL(/\/anmelden/);
await page.getByLabel("Benutzername").fill(BENUTZER);
await page.getByLabel("Passwort").fill(PASSWORT);
await page.getByRole("button", { name: "Anmelden" }).click();
await expect(page).not.toHaveURL(/\/anmelden/);
}
/**
* Gegen die eingestellte Bildschirmbreite messen, nicht gegen innerWidth: bei mobiler Emulation
* zoomt der Browser bei zu breitem Inhalt heraus, und innerWidth wächst einfach mit.
*/
export async function keinQuerscrollen(page: Page) {
const breite = page.viewportSize()!.width;
const inhalt = await page.evaluate(() => ({
scroll: document.documentElement.scrollWidth,
fenster: window.innerWidth,
}));
expect(inhalt.fenster, "Der Browser hat herausgezoomt – etwas ist breiter als der Bildschirm").toBe(breite);
expect(inhalt.scroll).toBeLessThanOrEqual(breite);
}
/** Mit dem Präfix zz-e2e lassen sich Testdaten erkennen und aufräumen. */
export const E2E_PRAEFIX = "zz-e2e";