2025-04-01 10:38:02 +09:00

41 lines
1.2 KiB
TypeScript

import { render, screen, waitFor } from '@testing-library/react';
import { selectors } from '@grafana/e2e-selectors';
import { createLokiDatasource } from '../../__mocks__/datasource';
import { MonacoQueryFieldWrapper, Props } from './MonacoQueryFieldWrapper';
jest.mock('@grafana/runtime', () => ({
...jest.requireActual('@grafana/runtime'),
getAppEvents: jest.fn().mockReturnValue({
subscribe: jest.fn().mockReturnValue({ unsubscribe: jest.fn() }),
}),
}));
function renderComponent({ initialValue = '', onChange = jest.fn(), onRunQuery = jest.fn() }: Partial<Props> = {}) {
const datasource = createLokiDatasource();
render(
<MonacoQueryFieldWrapper
datasource={datasource}
history={[]}
initialValue={initialValue}
onChange={onChange}
onRunQuery={onRunQuery}
placeholder="Enter a Loki query (run with Shift+Enter)"
/>
);
}
describe('MonacoFieldWrapper', () => {
test('Renders with no errors', async () => {
renderComponent();
await waitFor(async () => {
const monacoEditor = await screen.findByTestId(selectors.components.ReactMonacoEditor.editorLazy);
expect(monacoEditor).toBeInTheDocument();
});
});
});