import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, cleanup } from "@testing-library/react"; import { MeetupShowcaseScene } from "./MeetupShowcaseScene"; /* eslint-disable @remotion/warn-native-media-tag */ // Mock Remotion hooks vi.mock("remotion", () => ({ useCurrentFrame: vi.fn(() => 60), useVideoConfig: vi.fn(() => ({ fps: 30, width: 1920, height: 1080 })), interpolate: vi.fn((value, inputRange, outputRange, options) => { const [inMin, inMax] = inputRange; const [outMin, outMax] = outputRange; let progress = (value - inMin) / (inMax - inMin); if (options?.extrapolateLeft === "clamp") { progress = Math.max(0, progress); } if (options?.extrapolateRight === "clamp") { progress = Math.min(1, progress); } return outMin + progress * (outMax - outMin); }), spring: vi.fn(() => 1), AbsoluteFill: vi.fn(({ children, className, style }) => (
{children}
)), Img: vi.fn(({ src, className, style }) => ( )), staticFile: vi.fn((path: string) => `/static/${path}`), Sequence: vi.fn(({ children, from, durationInFrames }) => (
{children}
)), Easing: { out: vi.fn((fn) => fn), cubic: vi.fn((t: number) => t), }, })); // Mock @remotion/media vi.mock("@remotion/media", () => ({ Audio: vi.fn(({ src, volume }) => (