Files
fusion/packages/dashboard/app/components/__tests__/SettingsModal.workflow-model-lane-css.test.ts
gsxdsm 474b492b26 FN-6027: show and space default workflow model overrides
Expose default workflow model lane overrides directly in project settings.

- load and persist default workflow model lane overrides from the active project workflow
- add inline workflow lane status, reset, save, and advanced policy actions in project model settings
- add CSS contract and modal coverage for the workflow model action row spacing and placement

Files changed:
 .../dashboard/app/components/SettingsModal.css     |  20 ++
 .../components/__tests__/SettingsModal.test.tsx    |  20 +-
 .../SettingsModal.workflow-model-lane-css.test.ts  |  24 ++
 .../settings/sections/ProjectModelsSection.tsx     | 245 ++++++++++++++++++++-
 4 files changed, 298 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-6027

Fusion-Task-Lineage: 981a5f01-f4b7-467e-9e2f-4ac8e4ed40fb
2026-06-08 13:32:58 -07:00

25 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { loadAllAppCss } from "../../test/cssFixture";
describe("SettingsModal workflow model lane CSS contract", () => {
it("gives the save workflow models action row dedicated tokenized spacing", async () => {
const css = await loadAllAppCss();
const block = css.match(/\.settings-model-lane-actions\s*\{[\s\S]*?\}/)?.[0] ?? "";
expect(block).toContain("display: flex");
expect(block).toContain("flex-wrap: wrap");
expect(block).toContain("gap: var(--space-sm)");
expect(block).toContain("padding: var(--space-md) var(--space-xl) var(--space-lg)");
expect(block).toContain("margin-block: var(--space-sm) var(--space-lg)");
expect(block).toContain("border-bottom: var(--btn-border-width) solid var(--border)");
expect(block).not.toMatch(/#[0-9a-fA-F]{3,8}\b|rgba?\(/);
expect(block).not.toMatch(/(?<!-)\b(?:[1-9]\d*)px\b/);
});
it("keeps the workflow model action row usable at the mobile breakpoint", async () => {
const css = await loadAllAppCss();
expect(css).toMatch(/@media[^{}]*\(max-width:\s*768px\)[\s\S]*?\.settings-model-lane-actions\s*\{[^}]*align-items\s*:\s*stretch;[^}]*flex-direction\s*:\s*column;[^}]*padding-inline\s*:\s*calc\(var\(--space-md\) \+ var\(--space-xs\) \/ 2\);[^}]*\}/);
});
});