import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { LOG_LINE_BODY_FIELD_NAME } from './LogDetailsBody'; import { LogLabels, LogLabelsList } from './LogLabels'; describe('', () => { it('renders notice when no labels are found', () => { render(); expect(screen.queryByText('(no unique labels)')).toBeInTheDocument(); }); it('renders labels', () => { render(); expect(screen.queryByText('foo=bar')).toBeInTheDocument(); expect(screen.queryByText('baz=42')).toBeInTheDocument(); }); it('excludes labels with certain names or labels starting with underscore', () => { render(); expect(screen.queryByText('foo=bar')).toBeInTheDocument(); expect(screen.queryByText('level=42')).not.toBeInTheDocument(); expect(screen.queryByText('13')).not.toBeInTheDocument(); }); it('excludes labels with empty string values', () => { render(); expect(screen.queryByText('foo=bar')).toBeInTheDocument(); expect(screen.queryByText(/baz/)).not.toBeInTheDocument(); }); it('shows a tooltip', async () => { render(); await userEvent.hover(screen.getByText('foo=bar')); expect(screen.getAllByText('foo=bar')).toHaveLength(2); }); it('disables the tooltip', async () => { render(); await userEvent.hover(screen.getByText('foo=bar')); expect(screen.getAllByText('foo=bar')).toHaveLength(1); }); }); describe('', () => { it('renders labels', () => { render(); expect(screen.queryByText('bar')).toBeInTheDocument(); expect(screen.queryByText('42')).toBeInTheDocument(); expect(screen.queryByText('log line')).toBeInTheDocument(); }); });