Files
Dash/frontend/e2e/smoke.spec.ts
T
Tomas Dvorak 9e7acc868d refactor(frontend): simplify theme system and unify UI components
Remove the "casaos" theme in favor of a unified design system. This involves cleaning up conditional styling across components, simplifying the theme toggle, and updating the global CSS variables to a more consistent dark/light mode implementation.

- Remove `casaos` theme from `themes.ts` and `ThemeToggle`
- Refactor `globals.css` to use a single dark mode definition
- Simplify component styling by removing `isCasaOS` conditional logic
- Update UI components (`Card`, `Badge`, `WidgetCard`, etc.) to use standard design tokens
- Update E2E smoke tests to reflect theme changes
2026-05-04 18:32:35 +02:00

26 lines
963 B
TypeScript

import { test, expect } from "@playwright/test";
test("smoke: page loads with header", async ({ page }) => {
await page.goto("http://localhost:3000");
await expect(page.locator("header")).toBeVisible();
await expect(page.getByText("Dash")).toBeVisible();
});
test("smoke: theme toggle works", async ({ page }) => {
await page.goto("http://localhost:3000");
const toggle = page.getByLabel("Toggle theme");
await toggle.click();
await page.getByText("Light").click();
const theme = await page.evaluate(() => document.documentElement.getAttribute("data-theme"));
expect(theme).toBe("light");
});
test("smoke: empty state shows add button", async ({ page }) => {
await page.goto("http://localhost:3000");
// If no services exist, the empty state should be visible
const emptyState = page.getByText("No apps yet");
if (await emptyState.isVisible()) {
await expect(page.getByRole("button", { name: /add app/i })).toBeVisible();
}
});