import { describe, it, expect, vi } from 'vitest' import { render, screen, fireEvent } from '@testing-library/react' import { NodeModal } from '../NodeModal' import type { NodeData } from '@/types' // ── Mock Shadcn Select with native onValueChange?.(e.target.value)}> {children} ), SelectTrigger: ({ children }: { children: React.ReactNode }) => <>{children}, SelectValue: () => null, SelectContent: ({ children }: { children: React.ReactNode }) => <>{children}, SelectGroup: ({ children }: { children: React.ReactNode }) => <>{children}, SelectLabel: () => null, SelectItem: ({ value, children }: { value: string; children: React.ReactNode }) => ( ), SelectSeparator: () => null, })) // ── Helpers ─────────────────────────────────────────────────────────────── function renderModal(props: Partial[0]> = {}) { const onClose = vi.fn() const onSubmit = vi.fn() render() return { onClose, onSubmit } } /** Get