import { describe, it, expect, vi } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; vi.mock('./components/ListingsTab.jsx', () => ({ default: () =>
LISTINGS_TAB
})); vi.mock('./components/ToolsTab.jsx', () => ({ default: () =>
TOOLS_TAB
})); vi.mock('./components/CriteriaTab.jsx', () => ({ default: () =>
CRITERIA_TAB
})); vi.mock('react-router-dom', () => ({ Link: ({ children }) => {children} })); import Listings from './Listings.jsx'; describe('Listings', () => { it('기본 매물 탭 렌더 + 탭 전환', () => { render(); expect(screen.getByText('LISTINGS_TAB')).toBeInTheDocument(); fireEvent.click(screen.getByRole('button', { name: '판정 도구' })); expect(screen.getByText('TOOLS_TAB')).toBeInTheDocument(); fireEvent.click(screen.getByRole('button', { name: '조건' })); expect(screen.getByText('CRITERIA_TAB')).toBeInTheDocument(); }); });