Files
modeling-app/e2e/playwright/storageStates.ts
2025-06-23 14:44:24 -05:00

137 lines
3.5 KiB
TypeScript

import type { SaveSettingsPayload } from '@src/lib/settings/settingsTypes'
import { Themes } from '@src/lib/theme'
import type { DeepPartial } from '@src/lib/types'
import type { Settings } from '@rust/kcl-lib/bindings/Settings'
export const TEST_SETTINGS_KEY = '/settings.toml'
export const TEST_SETTINGS: DeepPartial<Settings> = {
app: {
appearance: {
theme: Themes.Dark,
},
onboarding_status: 'dismissed',
show_debug_panel: true,
fixed_size_grid: false
},
modeling: {
enable_ssao: false,
base_unit: 'in',
mouse_controls: 'zoo',
camera_projection: 'perspective',
},
project: {
default_project_name: 'untitled',
directory: '',
},
text_editor: {
text_wrapping: true,
},
}
export const TEST_SETTINGS_ONBOARDING_START: DeepPartial<Settings> = {
...TEST_SETTINGS,
app: { ...TEST_SETTINGS.app, onboarding_status: '' },
}
export const TEST_SETTINGS_DEFAULT_THEME: DeepPartial<Settings> = {
...TEST_SETTINGS,
app: { ...TEST_SETTINGS.app, appearance: { theme: Themes.System } },
}
export const TEST_SETTINGS_CORRUPTED = {
app: {
theme: Themes.Dark,
onboardingStatus: 'dismissed',
projectDirectory: 123 as any,
showDebugPanel: true,
},
modeling: {
defaultUnit: 'invalid' as any,
mouseControls: `() => alert('hack the planet')` as any,
cameraProjection: 'perspective',
},
projects: {
defaultProjectName: false as any,
},
textEditor: {
textWrapping: true,
},
} satisfies Partial<SaveSettingsPayload>
export const TEST_CODE_GIZMO = `@settings(defaultLengthUnit = in)
part001 = startSketchOn(XZ)
|> startProfile(at = [20, 0])
|> line(end = [7.13, 4 + 0])
|> angledLine(angle = 3 + 0, length = 3.14 + 0 )
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|> xLine(endAbsolute = 29 + 0)
|> yLine(length = -3.14 + 0, tag = $a)
|> xLine(length = 1.63)
|> angledLine(angle = 3 + 0, lengthX = 3.14 )
|> angledLine(angle = 30, lengthY = 3 + 0 )
|> angledLine(angle = 22.14 + 0, endAbsoluteX = 12)
|> angledLine(angle = 30, endAbsoluteY = 11.14)
|> angledLineThatIntersects(angle = 3.14, intersectTag = a, offset = 0)
|> tangentialArc(endAbsolute = [13.14 + 0, 13.14])
|> close()
|> extrude(length = 5 + 7)
`
export const TEST_CODE_LONG_WITH_ERROR_OUT_OF_VIEW = `width = 50.8
height = 30
thickness = 2
keychainHoleSize = 3
keychain = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [width, 0])
|> line(endAbsolute = [width, height])
|> line(endAbsolute = [0, height])
|> close()
|> extrude(length = thickness)
keychain1 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [width, 0])
|> line(endAbsolute = [width, height])
|> line(endAbsolute = [0, height])
|> close()
|> extrude(length = thickness)
keychain2 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [width, 0])
|> line(endAbsolute = [width, height])
|> line(endAbsolute = [0, height])
|> close()
|> extrude(length = thickness)
box = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [0, 10])
|> line(end = [10, 0])
|> line(end = [0, -10], tag = $revolveAxis)
|> close()
|> extrude(length = 10)
sketch001 = startSketchOn(box, face = revolveAxis)
|> startProfile(at = [5, 10])
|> line(end = [0, -10])
|> line(end = [2, 0])
|> line(end = [0, -10])
|> close()
|> revolve(
axis = revolveAxis,
angle = 90
)
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0.0, 0.0])
|> xLine(length = 0.0)
|> close()
`
export const TEST_CODE_TRIGGER_ENGINE_EXPORT_ERROR = `thing = 1`