import { describe, test, expect, vi } from 'vitest' import { render, screen, fireEvent } from '@testing-library/react' import { CopyButton } from './copy-button' vi.mock('@carto/ps-utils', () => ({ copy: vi.fn(() => Promise.resolve()), })) describe('CopyButton', () => { test('renders copy button', () => { render( , ) expect(screen.getByRole('button')).toBeTruthy() }) test('renders with custom aria-label', () => { render( , ) expect(screen.getByLabelText('Copy response')).toBeTruthy() }) test('calls copy utility when clicked', async () => { const { copy } = await import('@carto/ps-utils') render( , ) fireEvent.click(screen.getByRole('button')) expect(copy).toHaveBeenCalledWith('hello world') }) })