Bläddra i källkod

Merge branch 1.2 into main (campaign-tracker-client/src/workspace/workspaceContracts.test.ts)

pull/15/head
nano 3 dagar sedan
förälder
incheckning
44f392e623
1 ändrade filer med 52 tillägg och 0 borttagningar
  1. +52
    -0
      campaign-tracker-client/src/workspace/workspaceContracts.test.ts

+ 52
- 0
campaign-tracker-client/src/workspace/workspaceContracts.test.ts Visa fil

@@ -0,0 +1,52 @@
import { describe, expect, it } from 'vitest'
import {
isEditingAvailable,
isRightPanelCollapsible,
semanticStatusColors,
statusDefinitions,
workspaceDensityProfile,
workspaceThemeTokens,
getWorkspaceViewportMode,
} from './workspaceContracts'

describe('workspace visual foundation contracts', () => {
it('uses the approved Ant Design token palette and compact density profile', () => {
expect(workspaceThemeTokens.colorPrimary).toBe('#1F4E79')
expect(workspaceThemeTokens.colorSuccess).toBe('#2E7D32')
expect(workspaceThemeTokens.colorWarning).toBe('#B45309')
expect(workspaceThemeTokens.colorError).toBe('#B91C1C')
expect(workspaceThemeTokens.colorInfo).toBe('#2563EB')
expect(semanticStatusColors.secondary).toBe('#0F766E')
expect(semanticStatusColors.overdue).toBe('#7F1D1D')
expect(workspaceDensityProfile.compact).toBe(true)
expect(workspaceDensityProfile.controlHeight).toBeLessThanOrEqual(32)
})

it('maps desktop breakpoints to the required layout modes', () => {
expect(getWorkspaceViewportMode(1279)).toBe('read-reduced')
expect(getWorkspaceViewportMode(1280)).toBe('compact-tri-pane')
expect(getWorkspaceViewportMode(1599)).toBe('compact-tri-pane')
expect(getWorkspaceViewportMode(1600)).toBe('full-tri-pane')
})

it('allows editing only at supported desktop widths', () => {
expect(isEditingAvailable(1024)).toBe(false)
expect(isEditingAvailable(1279)).toBe(false)
expect(isEditingAvailable(1280)).toBe(true)
})

it('keeps the right panel collapsible only in standard desktop compact mode', () => {
expect(isRightPanelCollapsible(1279)).toBe(false)
expect(isRightPanelCollapsible(1280)).toBe(true)
expect(isRightPanelCollapsible(1599)).toBe(true)
expect(isRightPanelCollapsible(1600)).toBe(false)
})

it('requires every status indicator to have color plus text and icon labels', () => {
Object.values(statusDefinitions).forEach((status) => {
expect(status.color).toMatch(/^#[0-9A-F]{6}$/)
expect(status.label.length).toBeGreaterThan(0)
expect(status.iconLabel.length).toBeGreaterThan(0)
})
})
})

Laddar…
Avbryt
Spara

Powered by TurnKey Linux.