import React from "react" import { vi } from "vitest" // Mock Timeline component export const MockTimeline = vi.fn(({ onReady, onTimeUpdate, onSelectionChange, ...props }: any) => { // Simulate component lifecycle React.useEffect(() => { if (onReady) { onReady({ timeline: "mock-timeline-instance" }) } }, [onReady]) return (
Timeline Header
Timeline Tracks
Playhead
) }) // Mock Track component export const MockTrack = vi.fn(({ track, onClipClick, onTrackClick, ...props }: any) => (
onTrackClick?.(track)} {...props} >
{track.name}
{track.clips?.map((clip: any) => (
{ e.stopPropagation() onClipClick?.(clip) }} > Clip {clip.id}
))}
)) // Mock Clip component export const MockClip = vi.fn(({ clip, selected, onSelect, onDrag, onResize, ...props }: any) => (
onSelect?.(clip)} {...props}>
Thumbnail
{clip.endTime - clip.startTime}s
{clip.effects?.length > 0 &&
{clip.effects.length} effects
}
)) // Mock TimelineScale component export const MockTimelineScale = vi.fn(({ duration, scale, onScaleChange, ...props }: any) => (
Scale: {scale}x | Duration: {duration}s
)) // Mock TimelineContent component export const MockTimelineContent = vi.fn(({ children, onScroll, ...props }: any) => (
onScroll?.(e)} {...props}> {children}
)) // Export all component mocks export const timelineComponentMocks = { Timeline: MockTimeline, Track: MockTrack, Clip: MockClip, TimelineScale: MockTimelineScale, TimelineContent: MockTimelineContent, } // Set up vi.mock calls vi.mock("../components/timeline", () => ({ Timeline: MockTimeline, })) vi.mock("../components/track/track", () => ({ Track: MockTrack, })) vi.mock("../components/clip/clip", () => ({ Clip: MockClip, })) vi.mock("../components/timeline-scale/timeline-scale", () => ({ TimelineScale: MockTimelineScale, })) vi.mock("../components/timeline-content", () => ({ TimelineContent: MockTimelineContent, })) vi.mock("../components/timeline-top-panel", () => ({}))