mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Loki: Derived fields unit test flake (#79949)
use async find when interacting with elements to avoid flakey 'not wrapped in act(...)' error
This commit is contained in:
parent
c6db73f0bf
commit
289bfc070e
@ -35,7 +35,8 @@ describe('DerivedFields', () => {
|
|||||||
const onChange = jest.fn();
|
const onChange = jest.fn();
|
||||||
render(<DerivedFields onChange={onChange} />);
|
render(<DerivedFields onChange={onChange} />);
|
||||||
|
|
||||||
userEvent.click(screen.getByText('Add'));
|
const addButton = await screen.findByText('Add');
|
||||||
|
userEvent.click(addButton);
|
||||||
|
|
||||||
await waitFor(() => expect(onChange).toHaveBeenCalledTimes(1));
|
await waitFor(() => expect(onChange).toHaveBeenCalledTimes(1));
|
||||||
});
|
});
|
||||||
@ -63,12 +64,13 @@ describe('DerivedFields', () => {
|
|||||||
];
|
];
|
||||||
render(<DerivedFields onChange={jest.fn()} fields={repeatedFields} />);
|
render(<DerivedFields onChange={jest.fn()} fields={repeatedFields} />);
|
||||||
|
|
||||||
userEvent.click(screen.getAllByPlaceholderText('Field name')[0]);
|
const inputs = await screen.findAllByPlaceholderText('Field name');
|
||||||
|
userEvent.click(inputs[0]);
|
||||||
|
|
||||||
expect(await screen.findAllByText('The name is already in use')).toHaveLength(2);
|
expect(await screen.findAllByText('The name is already in use')).toHaveLength(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not validate empty names as repeated', () => {
|
it('does not validate empty names as repeated', async () => {
|
||||||
const repeatedFields = [
|
const repeatedFields = [
|
||||||
{
|
{
|
||||||
matcherRegex: '',
|
matcherRegex: '',
|
||||||
@ -81,7 +83,8 @@ describe('DerivedFields', () => {
|
|||||||
];
|
];
|
||||||
render(<DerivedFields onChange={jest.fn()} fields={repeatedFields} />);
|
render(<DerivedFields onChange={jest.fn()} fields={repeatedFields} />);
|
||||||
|
|
||||||
userEvent.click(screen.getAllByPlaceholderText('Field name')[0]);
|
const inputs = await screen.findAllByPlaceholderText('Field name');
|
||||||
|
userEvent.click(inputs[0]);
|
||||||
|
|
||||||
expect(screen.queryByText('The name is already in use')).not.toBeInTheDocument();
|
expect(screen.queryByText('The name is already in use')).not.toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user