Skip to content

Commit

Permalink
LogRowMessageDisplayedFields: add unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
matyax committed Jul 10, 2023
1 parent 19113cc commit 05e48f6
Showing 1 changed file with 46 additions and 0 deletions.
@@ -0,0 +1,46 @@
import { render, screen } from '@testing-library/react';
import React from 'react';

import { createTheme, LogLevel } from '@grafana/data';

import { LogRowMessageDisplayedFields, Props } from './LogRowMessageDisplayedFields';
import { createLogRow } from './__mocks__/logRow';
import { getLogRowStyles } from './getLogRowStyles';

const setup = (propOverrides: Partial<Props> = {}, detectedFields = ['place', 'planet']) => {
const theme = createTheme();
const styles = getLogRowStyles(theme);
const labels = {
place: 'Earth',
planet: 'Mars',
};
const props: Props = {
wrapLogMessage: false,
row: createLogRow({ entry: 'Logs are wonderful', logLevel: LogLevel.error, timeEpochMs: 1546297200000, labels }),
onOpenContext: () => {},
styles,
detectedFields,
...propOverrides,
};

render(
<table>
<tbody>
<tr>
<LogRowMessageDisplayedFields {...props} />
</tr>
</tbody>
</table>
);

return props;
};

describe('LogRowMessageDisplayedFields', () => {
it('renders diplayed fields from a log row', () => {
setup();
expect(screen.queryByText('Logs are wonderful')).not.toBeInTheDocument();
expect(screen.getByText(/place=Earth/)).toBeInTheDocument();
expect(screen.getByText(/planet=Mars/)).toBeInTheDocument();
});
});

0 comments on commit 05e48f6

Please sign in to comment.