d838403csurfaces

Dark mode toggle

Pages, routes, and HTTP endpoints the deployed app must expose. Probes verify HTTP status, expected JSON shape, and visual landmarks.

Cross-agent verdicts

Loading verdicts…

Plan source

What TestSprite reads

The testing agent reads this JSON, opens the deployed URL in headless Chromium, executes each action step, evaluates each assertion. Verdict: passed / failed / blocked / inconclusive.

{
  "projectId": "1ad26753-ee03-4689-8f0f-6fa5d67c5c72",
  "type": "frontend",
  "name": "Surfaces — dark mode toggle persists in localStorage",
  "description": "The header includes a theme toggle (light / dark / system-default). Clicking the toggle switches the page theme. Reloading the page preserves the chosen theme via localStorage. On first visit with no stored choice, the page respects the OS prefers-color-scheme.",
  "priority": "p2",
  "metadata": {
    "category": "surfaces",
    "stage": "all"
  },
  "planSteps": [
    {
      "type": "action",
      "description": "Navigate to the homepage"
    },
    {
      "type": "assertion",
      "description": "Verify a theme toggle button (with text or icon implying dark/light/theme switching) is visible in the header or nav area"
    },
    {
      "type": "action",
      "description": "Click the theme toggle once"
    },
    {
      "type": "assertion",
      "description": "Verify the page background color visibly changes (light → dark or vice versa) after the click"
    },
    {
      "type": "action",
      "description": "Reload the page"
    },
    {
      "type": "assertion",
      "description": "Verify the previously-chosen theme persists after reload — the page does NOT reset to the original color scheme"
    }
  ]
}
View on GitHub →