import { render, screen } from "@testing-library/react" import { describe, expect, it, vi } from "vitest" import { ImagePreview } from "../../../components/preview/image-preview" // Setup common mocks vi.mock("react-i18next", () => ({ useTranslation: () => ({ t: (key: string, fallback?: string) => fallback || key, i18n: { language: "en" }, }), })) vi.mock("@/features/app-state/hooks/use-app-settings", () => ({ useAppSettings: () => ({ getMediaFiles: () => ({ allFiles: [], videoFiles: [], audioFiles: [], imageFiles: [], }), addMediaFiles: vi.fn(), removeMediaFile: vi.fn(), clearMediaFiles: vi.fn(), settings: { theme: "dark", language: "en", previewSize: 1, viewMode: "list", }, updateSettings: vi.fn(), }), })) vi.mock("@/features/app-state", () => ({ useFavorites: () => ({ favorites: { transition: [], effect: [], template: [], filter: [], subtitle: [], media: [], audio: [], }, addToFavorites: vi.fn(), removeFromFavorites: vi.fn(), isFavorite: vi.fn(() => false), clearFavorites: vi.fn(), toggleFavorite: vi.fn(), }), })) vi.mock("@/lib/utils", () => ({ cn: (...classes: any[]) => classes.filter(Boolean).join(" "), })) vi.mock("@/features/video-player/services/player-provider", () => ({ usePlayer: () => ({ playerSetSource: vi.fn(), playerSetMedia: vi.fn(), }), })) // Mock components vi.mock("@/features/browser/components/layout/add-media-button", () => ({ AddMediaButton: ({ onAddMedia, isAdded }: any) => (