import * as React from "react" import { CheckCircle2, XCircle, Clock, ChevronDown, ChevronRight, Info, AlertCircle } from "lucide-react" import { cn } from "@/lib/utils" interface TestSummary { total: number; passed: number; failed: number; skipped: number; duration: number; } const TestResultsContext = React.createContext<{ summary: TestSummary; } | null>(null) export function TestResults({ summary, children, className }: { summary: TestSummary, children: React.ReactNode, className?: string }) { return (
{children}
) } export function TestResultsHeader({ children }: { children: React.ReactNode }) { return (
{children}
) } export function TestResultsSummary() { const context = React.useContext(TestResultsContext) if (!context) return null const { summary } = context return (
{summary.passed} Passed
{summary.failed} Failed
) } export function TestResultsDuration() { const context = React.useContext(TestResultsContext) if (!context) return null return (
{context.summary.duration}ms Analysis
) } export function TestResultsProgress() { const context = React.useContext(TestResultsContext) if (!context) return null const { summary } = context const percent = (summary.passed / (summary.total || 1)) * 100 return (
) } export function TestResultsContent({ children }: { children: React.ReactNode }) { return
{children}
} export function TestSuite({ name, status, defaultOpen = false, children }: { name: string; status: 'passed' | 'failed' | 'skipped'; defaultOpen?: boolean; children: React.ReactNode }) { const [isOpen, setIsOpen] = React.useState(defaultOpen) return (
{isOpen &&
{children}
}
) } export function TestSuiteName() { return null } export function TestSuiteContent({ children }: { children: React.ReactNode }) { return
{children}
} export function Test({ name, status, duration, children }: { name: string; status: 'passed' | 'failed' | 'skipped'; duration?: number; children?: React.ReactNode }) { return (
{status === 'passed' && } {status === 'failed' && } {status === 'skipped' && } {name}
{duration && {duration}ms}
{children &&
{children}
}
) } export function TestError({ children }: { children: React.ReactNode }) { return (
{children}
) } export function TestErrorMessage({ children }: { children: React.ReactNode }) { return (
{children}
) } export function TestErrorStack({ children }: { children: React.ReactNode }) { return (
{children}
) }