feat(katalog): Distributionen und Profile als YAML-Daten
Fünf Distributionen (Debian 12/13, Ubuntu 22.04/24.04/26.04) und drei Profile liegen unter catalog/ und werden beim Start abgeglichen. Die Datei ist maßgeblich für den Inhalt, die Datenbank nur für „aktiv“; verschwundene Einträge werden markiert, nicht gelöscht. Unbekannte Schlüssel sind Fehler, damit Tippfehler nicht still verschwinden; eine kaputte Datei wird mit Pfad gemeldet und übersprungen, statt den Start zu verhindern. Prüfsummen-Parser kennt das Debian-, Ubuntu- und BSD-Format; bei mehreren LXC-Templates gewinnt die höchste Version. Closes #004 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { anmelden, keinQuerscrollen } from "./helfer";
|
||||
|
||||
test("Katalog: Distributionen und Profile sehen, Distribution ab- und wieder einschalten", async ({
|
||||
page,
|
||||
}) => {
|
||||
await anmelden(page, "/katalog");
|
||||
await expect(page.getByRole("heading", { name: "Katalog", level: 1 })).toBeVisible();
|
||||
await expect(page.getByText("Debian 13 „Trixie“")).toBeVisible();
|
||||
await expect(page.getByText("Docker CE")).toBeVisible();
|
||||
await keinQuerscrollen(page);
|
||||
|
||||
const schalter = page.getByRole("switch", { name: /Ubuntu 22\.04 LTS/ });
|
||||
await expect(schalter).toHaveAttribute("aria-checked", "true");
|
||||
await schalter.click();
|
||||
await expect(schalter).toHaveAttribute("aria-checked", "false");
|
||||
await page.reload();
|
||||
await expect(page.getByRole("switch", { name: /Ubuntu 22\.04 LTS/ })).toHaveAttribute(
|
||||
"aria-checked",
|
||||
"false",
|
||||
);
|
||||
await page.screenshot({ path: `test-results/katalog-${test.info().project.name}.png`, fullPage: true });
|
||||
await page.getByRole("switch", { name: /Ubuntu 22\.04 LTS/ }).click();
|
||||
await expect(page.getByRole("switch", { name: /Ubuntu 22\.04 LTS/ })).toHaveAttribute(
|
||||
"aria-checked",
|
||||
"true",
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user