import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, PaginationEllipsis, } from './pagination'; import React from 'react'; describe('Pagination', () => { it('renders correctly with multiple pages', () => { render( 1 2 ); expect(screen.getByRole('navigation', { name: /pagination/i })).toBeInTheDocument(); expect(screen.getByText('1')).toBeInTheDocument(); expect(screen.getByText('2')).toBeInTheDocument(); expect(screen.getByText('2')).toHaveAttribute('aria-current', 'page'); expect(screen.getByText('More pages')).toBeInTheDocument(); // sr-only }); it('has correct data-slot attributes', () => { const { container } = render( 1 ); expect(container.querySelector('[data-slot="pagination"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="pagination-content"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="pagination-item"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="pagination-link"]')).toBeInTheDocument(); }); });