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();
});
});