import { describe, it, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import Stepper from './Stepper';
const STEPS = [
{ key: 'cost', title: 'بیمه و هزینه' },
{ key: 'payment', title: 'پرداخت' },
{ key: 'review', title: 'تأیید' },
];
const items = () => screen.getAllByRole('listitem');
describe('Stepper', () => {
it('همهٔ مراحل را با شمارهٔ خودشان نشان میدهد', () => {
render();
expect(items()).toHaveLength(3);
expect(items()[0].textContent).toBe('1بیمه و هزینه');
expect(items()[2].textContent).toBe('3تأیید');
});
it('مرحلهٔ جاری با aria-current اعلام میشود', () => {
render();
// فقط یکی؛ وگرنه صفحهخوان دو «مرحلهٔ فعلی» میخواند.
const marked = items().filter(li => li.getAttribute('aria-current') === 'step');
expect(marked).toHaveLength(1);
expect(marked[0].textContent).toBe('2پرداخت');
});
it('نوار با برچسبِ دادهشده قابل پیدا شدن است', () => {
render();
expect(screen.getByRole('list', { name: 'مراحل قطعی کردن نوبت' })).toBeInTheDocument();
});
it('مرحلهٔ ناشناخته هیچکدام را فعال نمیکند و خطا نمیدهد', () => {
render();
expect(items().filter(li => li.getAttribute('aria-current') === 'step')).toHaveLength(0);
});
});