Compare commits

...

3 Commits

Author SHA1 Message Date
huang47
305cf4eea8 test: verify increased critical coverage 2026-07-08 20:35:04 -07:00
huang47
12b3cc8fca ci: tolerate codecov unit report drift 2026-07-08 20:33:29 -07:00
huang47
427e9a20c4 ci: gate critical unit coverage drops 2026-07-08 17:51:18 -07:00
2 changed files with 94 additions and 0 deletions

View File

@@ -5,6 +5,54 @@ comment:
require_base: false
require_head: true
coverage:
status:
project:
critical-unit:
target: auto
threshold: 0.15%
flags:
- unit
paths:
- src/base/
- src/composables/
- src/core/
- src/lib/litegraph/src/node/
- src/lib/litegraph/src/subgraph/
- src/lib/litegraph/src/utils/
- src/platform/assets/composables/
- src/platform/assets/mappings/
- src/platform/assets/schemas/
- src/platform/assets/services/
- src/platform/assets/utils/
- src/platform/errorCatalog/
- src/platform/keybindings/
- src/platform/missingMedia/
- src/platform/missingModel/
- src/platform/navigation/
- src/platform/nodeReplacement/
- src/platform/remote/
- src/platform/remoteConfig/
- src/platform/secrets/
- src/platform/settings/
- src/platform/workflow/
- src/platform/workspace/api/
- src/platform/workspace/auth/
- src/platform/workspace/composables/
- src/platform/workspace/stores/
- src/platform/workspace/utils/
- src/schemas/
- src/scripts/
- src/services/
- src/stores/
- src/utils/
- src/workbench/extensions/manager/composables/
- src/workbench/extensions/manager/services/
- src/workbench/extensions/manager/stores/
- src/workbench/extensions/manager/utils/
- src/workbench/utils/
informational: false
# Carry forward the last known coverage for a flag when its upload is missing or
# late. The `e2e` flag is uploaded by a separate workflow_run job that can fail
# or arrive after Codecov has already computed the patch status; without this,

46
src/utils/appMode.test.ts Normal file
View File

@@ -0,0 +1,46 @@
import { describe, expect, it } from 'vitest'
import { getWorkflowMode, isAppModeValue } from '@/utils/appMode'
describe('getWorkflowMode', () => {
it('prefers active mode over initial mode', () => {
expect(
getWorkflowMode({
activeMode: 'builder:arrange',
initialMode: 'app'
})
).toBe('builder:arrange')
})
it('falls back to initial mode', () => {
expect(
getWorkflowMode({
activeMode: null,
initialMode: 'builder:inputs'
})
).toBe('builder:inputs')
})
it('defaults to graph mode', () => {
expect(getWorkflowMode(null)).toBe('graph')
expect(
getWorkflowMode({
activeMode: null,
initialMode: undefined
})
).toBe('graph')
})
})
describe('isAppModeValue', () => {
it('recognizes app-style modes', () => {
expect(isAppModeValue('app')).toBe(true)
expect(isAppModeValue('builder:arrange')).toBe(true)
})
it('rejects graph and builder panel modes', () => {
expect(isAppModeValue('graph')).toBe(false)
expect(isAppModeValue('builder:inputs')).toBe(false)
expect(isAppModeValue('builder:outputs')).toBe(false)
})
})