orca/src/shared/feature-education-telemetry...

36 lines
1.5 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { CONTEXTUAL_TOUR_IDS } from './contextual-tours'
import {
FEATURE_EDUCATION_CONTEXTUAL_TOUR_IDS,
normalizeFeatureEducationSource,
normalizeSetupGuideSource
} from './feature-education-telemetry'
describe('feature education telemetry constants', () => {
it('keeps contextual tour telemetry ids aligned with tour definitions', () => {
expect(FEATURE_EDUCATION_CONTEXTUAL_TOUR_IDS).toEqual(CONTEXTUAL_TOUR_IDS)
})
it('normalizes unknown telemetry sources to a bounded fallback', () => {
expect(normalizeFeatureEducationSource('tasks_open')).toBe('tasks_open')
expect(normalizeFeatureEducationSource('workspace_agent_sessions_visible')).toBe(
'workspace_agent_sessions_visible'
)
expect(normalizeFeatureEducationSource('floating_workspace_visible')).toBe(
'floating_workspace_visible'
)
expect(normalizeFeatureEducationSource('setup_guide_parallel_work')).toBe(
'setup_guide_parallel_work'
)
expect(normalizeFeatureEducationSource('https://example.com/private')).toBe('unknown')
expect(normalizeFeatureEducationSource(null)).toBe('unknown')
})
it('normalizes setup guide telemetry sources to a bounded fallback', () => {
expect(normalizeSetupGuideSource('sidebar')).toBe('sidebar')
expect(normalizeSetupGuideSource('settings')).toBe('settings')
expect(normalizeSetupGuideSource('help_menu')).toBe('help_menu')
expect(normalizeSetupGuideSource('private-source')).toBe('unknown')
})
})