import { describe, it, expect, vi } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; import ActivityItem from './ActivityItem.jsx'; describe('ActivityItem', () => { it('task 항목은 상태 뱃지와 duration을 렌더한다', () => { render( {}} />); expect(screen.getByText('holdings_brief')).toBeInTheDocument(); expect(screen.getByText(/완료/)).toBeInTheDocument(); expect(screen.getByText('2s')).toBeInTheDocument(); }); it('log 항목은 level 아이콘을 렌더한다', () => { render( {}} />); expect(screen.getByText('signal_check')).toBeInTheDocument(); expect(screen.getByText('❌')).toBeInTheDocument(); }); it('클릭 시 onSelectAgent(agent_id)를 호출한다', () => { const onSelect = vi.fn(); render(); fireEvent.click(screen.getByText('발급').closest('.ao-activity-item')); expect(onSelect).toHaveBeenCalledWith('insta'); }); it('미지정 agent_id는 id를 그대로 표시한다', () => { render( {}} />); expect(screen.getByText('unknown')).toBeInTheDocument(); }); });