Skip to content

Commit dcc816b

Browse files
committed
Fix flaky test
1 parent d027119 commit dcc816b

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

packages/ra-core/src/dataProvider/useCreate.optimistic.stories.tsx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,12 @@ export const SuccessCase = ({ timeout = 1000 }) => {
5151
const SuccessCore = () => {
5252
const isMutating = useIsMutating();
5353
const [success, setSuccess] = useState<string>();
54-
const { data, error, refetch } = useGetOne('posts', { id: 2 });
54+
const {
55+
isPending: isPendingGetOne,
56+
data,
57+
error,
58+
refetch,
59+
} = useGetOne('posts', { id: 2 });
5560
const [create, { isPending }] = useCreate();
5661
const handleClick = () => {
5762
create(
@@ -67,7 +72,9 @@ const SuccessCore = () => {
6772
};
6873
return (
6974
<>
70-
{error ? (
75+
{isPendingGetOne ? (
76+
<p>Loading...</p>
77+
) : error ? (
7178
<p>{error.message}</p>
7279
) : (
7380
<dl>
@@ -135,7 +142,12 @@ const ErrorCore = () => {
135142
const isMutating = useIsMutating();
136143
const [success, setSuccess] = useState<string>();
137144
const [error, setError] = useState<any>();
138-
const { data, error: getOneError, refetch } = useGetOne('posts', { id: 2 });
145+
const {
146+
isPending: isPendingGetOne,
147+
data,
148+
error: getOneError,
149+
refetch,
150+
} = useGetOne('posts', { id: 2 });
139151
const [create, { isPending }] = useCreate();
140152
const handleClick = () => {
141153
create(
@@ -158,7 +170,9 @@ const ErrorCore = () => {
158170
};
159171
return (
160172
<>
161-
{getOneError ? (
173+
{isPendingGetOne ? (
174+
<p>Loading...</p>
175+
) : getOneError ? (
162176
<p>{getOneError.message}</p>
163177
) : (
164178
<dl>

packages/ra-core/src/dataProvider/useCreate.spec.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@ describe('useCreate', () => {
236236
});
237237
});
238238
it('when optimistic, displays result and success side effects right away', async () => {
239-
render(<SuccessCaseOptimistic timeout={10} />);
239+
render(<SuccessCaseOptimistic timeout={50} />);
240+
await screen.findByText('nothing yet');
240241
screen.getByText('Create post').click();
241242
await waitFor(() => {
242243
expect(screen.queryByText('success')).not.toBeNull();

0 commit comments

Comments
 (0)