replace usages of await act(async () => {}) with waitFor

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-10-14 13:59:51 +02:00
parent bfee94f0c5
commit 0696ef1a34
14 changed files with 419 additions and 417 deletions
@@ -16,7 +16,7 @@
import React from 'react';
import { ApiProvider } from '@backstage/core-app-api';
import { MockConfigApi, TestApiRegistry } from '@backstage/test-utils';
import { act, renderHook } from '@testing-library/react';
import { act, renderHook, waitFor } from '@testing-library/react';
import { searchApiRef } from '../../api';
import { SearchContextProvider, useSearch } from '../../context';
@@ -77,9 +77,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should set non-empty array value', async () => {
@@ -95,9 +95,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should not set undefined value', async () => {
@@ -121,9 +121,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should not set null value', async () => {
@@ -147,9 +147,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should not set empty string value', async () => {
@@ -173,9 +173,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should not set empty array value', async () => {
@@ -199,9 +199,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
await waitFor(() => {
expect(result.current.filters[expectedFilter]).toEqual(expectedValue);
});
});
it('should not affect unrelated filters', async () => {
@@ -225,9 +225,9 @@ describe('SearchFilter.hooks', () => {
},
);
await act(async () => {});
expect(result.current.filters.unrelatedField).toEqual('unrelatedValue');
await waitFor(() => {
expect(result.current.filters.unrelatedField).toEqual('unrelatedValue');
});
});
});
@@ -89,9 +89,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
expect(result.current).toEqual(true);
await waitFor(() => {
expect(result.current).toEqual(true);
});
});
describe('Uses initial state values', () => {
@@ -100,17 +100,17 @@ describe('SearchContext', () => {
wrapper,
});
await act(async () => {});
expect(result.current).toEqual(
expect.objectContaining({
term: '',
types: [],
filters: {},
pageLimit: undefined,
pageCursor: undefined,
}),
);
await waitFor(() => {
expect(result.current).toEqual(
expect.objectContaining({
term: '',
types: [],
filters: {},
pageLimit: undefined,
pageCursor: undefined,
}),
);
});
});
it('Uses provided initial state values', async () => {
@@ -118,9 +118,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
expect(result.current).toEqual(expect.objectContaining(initialState));
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
});
it('Uses page limit provided via config api', async () => {
@@ -139,11 +139,11 @@ describe('SearchContext', () => {
}),
});
await act(async () => {});
expect(result.current).toEqual(
expect.objectContaining({ ...initialState, pageLimit: 100 }),
);
await waitFor(() => {
expect(result.current).toEqual(
expect.objectContaining({ ...initialState, pageLimit: 100 }),
);
});
});
});
@@ -161,10 +161,10 @@ describe('SearchContext', () => {
}),
});
await act(async () => {});
expect(result.current.term).toEqual('first term');
expect(result.current.pageCursor).toEqual('SOMEPAGE');
await waitFor(() => {
expect(result.current.term).toEqual('first term');
expect(result.current.pageCursor).toEqual('SOMEPAGE');
});
await act(async () => {
result.current.setTerm('');
@@ -186,10 +186,10 @@ describe('SearchContext', () => {
}),
});
await act(async () => {});
expect(result.current.term).toEqual('first term');
expect(result.current.pageCursor).toEqual('SOMEPAGE');
await waitFor(() => {
expect(result.current.term).toEqual('first term');
expect(result.current.pageCursor).toEqual('SOMEPAGE');
});
await act(async () => {
result.current.setTerm('second term');
@@ -212,10 +212,10 @@ describe('SearchContext', () => {
}),
});
await act(async () => {});
expect(result.current.filters).toEqual({ foo: 'bar' });
expect(result.current.pageCursor).toEqual('SOMEPAGE');
await waitFor(() => {
expect(result.current.filters).toEqual({ foo: 'bar' });
expect(result.current.pageCursor).toEqual('SOMEPAGE');
});
await act(async () => {
result.current.setFilters({});
@@ -238,10 +238,10 @@ describe('SearchContext', () => {
}),
});
await act(async () => {});
expect(result.current.filters).toEqual({ foo: 'bar' });
expect(result.current.pageCursor).toEqual('SOMEPAGE');
await waitFor(() => {
expect(result.current.filters).toEqual({ foo: 'bar' });
expect(result.current.pageCursor).toEqual('SOMEPAGE');
});
await act(async () => {
result.current.setFilters({ foo: 'test' });
@@ -257,7 +257,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
const term = 'term';
@@ -277,7 +279,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
const types = ['type'];
@@ -297,7 +301,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
const filters = { filter: 'filter' };
@@ -317,7 +323,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
const pageLimit = 30;
@@ -338,7 +346,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
const pageCursor = 'SOMEPAGE';
@@ -364,7 +374,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
expect(result.current.fetchNextPage).toBeDefined();
expect(result.current.fetchPreviousPage).toBeUndefined();
@@ -391,7 +403,9 @@ describe('SearchContext', () => {
wrapper: ({ children }) => wrapper({ children, initialState }),
});
await act(async () => {});
await waitFor(() => {
expect(result.current).toEqual(expect.objectContaining(initialState));
});
expect(result.current.fetchNextPage).toBeUndefined();
expect(result.current.fetchPreviousPage).toBeDefined();