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();
});
});