import { describe, it, expect, vi } from 'vitest'; import { render, screen } from '@testing-library/react'; import SearchableSelect from './SearchableSelect'; vi.mock('../../stores/uiStore', () => ({ useUiStore: () => false })); const insuranceOpts = [ { value: '176', label: 'تامین اجتماعی' }, { value: '178', label: 'بیمه ارتش' }, ]; describe('SearchableSelect — تطبیق مقدار', () => { it('مقدار number با گزینهٔ string تطبیق می‌خورد (id بیمه)', () => { render( {}} />); expect(screen.getByText('تامین اجتماعی')).toBeInTheDocument(); }); it('مقدار string با گزینهٔ string تطبیق می‌خورد', () => { render( {}} />); expect(screen.getByText('بیمه ارتش')).toBeInTheDocument(); }); it('مقدار number با گزینهٔ number تطبیق می‌خورد', () => { render( {}} />); expect(screen.getByText('یزد')).toBeInTheDocument(); }); it('null/خالی → هیچ گزینه‌ای انتخاب نمی‌شود (placeholder)', () => { render( {}} placeholder="انتخاب کنید..." />); expect(screen.getByText('انتخاب کنید...')).toBeInTheDocument(); expect(screen.queryByText('تامین اجتماعی')).not.toBeInTheDocument(); }); });