import { cleanup, fireEvent, render, screen } from '@testing-library/react' import { afterEach, describe, expect, it, vi } from 'vitest' import PaginatedListToolbar from '@/components/paginated-list/PaginatedListToolbar' afterEach(cleanup) const baseProps = { activeFilterCount: 0, bulkActions: undefined, dynamicButtonText: 'افزودن', hasFilters: false, selectedKeys: new Set(), selectionMode: 'none' as const, onBack: vi.fn(), onDynamicButtonClick: vi.fn(), onOpenFilters: vi.fn(), onClearSelection: vi.fn(), } describe('PaginatedListToolbar', () => { it('announces selected rows and clears the selection', () => { const onClearSelection = vi.fn() render( بایگانی} selectedKeys={new Set(['1', '2'])} selectionMode="multiple" onClearSelection={onClearSelection} /> ) expect(screen.getByRole('status')).toHaveTextContent('۲ سطر انتخاب شده') expect(screen.getByRole('button', { name: 'بایگانی' })).toBeInTheDocument() fireEvent.click(screen.getByRole('button', { name: 'لغو انتخاب' })) expect(onClearSelection).toHaveBeenCalledTimes(1) }) it('shows mobile filters button when filters exist', () => { const onOpenFilters = vi.fn() render( ) fireEvent.click(screen.getByRole('button', { name: /فیلترها/ })) expect(onOpenFilters).toHaveBeenCalledTimes(1) }) })