import { describe, it, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import Input from '@/components/ui/Input';
import Field from '@/components/ui/Field';
describe('Input', () => {
it('مقدار و placeholder را رندر میکند', () => {
render();
const el = screen.getByPlaceholderText('نام') as HTMLInputElement;
expect(el.value).toBe('ساغر');
expect(el.className).toBe('cp-input');
});
it('در حالت hasError قاب قرمز میگیرد', () => {
render();
const el = screen.getByPlaceholderText('کدملی') as HTMLInputElement;
expect(el.style.borderColor).toBe('var(--danger)');
});
});
describe('Field', () => {
it('برچسب و فرزند را نشان میدهد و بدون خطا پیام خطا ندارد', () => {
render(
,
);
expect(screen.getByText('نام پدر')).toBeInTheDocument();
expect(screen.getByPlaceholderText('نام پدر را وارد کنید')).toBeInTheDocument();
});
it('پیام خطا را وقتی error داده شود نمایش میدهد', () => {
render(
,
);
expect(screen.getByText('کد ملی باید ۱۰ رقم باشد')).toBeInTheDocument();
});
});