import { describe, it, expect, vi } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; import { Rating } from './Rating'; describe('Rating', () => { describe('onCountClick', () => { it('renders button when onCountClick provided', () => { const handleClick = vi.fn(); render( ); const countElement = screen.getByTestId('rating-count'); expect(countElement.tagName).toBe('BUTTON'); }); it('renders span when onCountClick not provided', () => { render(); const countElement = screen.getByTestId('rating-count'); expect(countElement.tagName).toBe('SPAN'); }); it('calls onCountClick when clicked', () => { const handleClick = vi.fn(); render( ); fireEvent.click(screen.getByTestId('rating-count')); expect(handleClick).toHaveBeenCalledTimes(1); }); }); });