Skip to content

Commit ec23566

Browse files
committed
fix: <Img/> correctly suspends
1 parent 669a3ab commit ec23566

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

.changeset/violet-schools-own.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@data-client/img': patch
3+
---
4+
5+
Fix <Img/> correctly suspends

packages/img/src/__tests__/Img.web.tsx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CacheProvider } from '@data-client/react';
1+
import { DataProvider } from '@data-client/react';
22
import { getByTestId, render, waitFor } from '@testing-library/react';
33
import React, { Suspense } from 'react';
44

@@ -22,18 +22,18 @@ describe('<Img />', () => {
2222

2323
it('suspends then resolves', async () => {
2424
const tree = (
25-
<CacheProvider>
25+
<DataProvider>
2626
<Suspense fallback="loading">
2727
<Img src="http://test.com/myimage.png" alt="myimage" />
2828
</Suspense>
29-
</CacheProvider>
29+
</DataProvider>
3030
);
3131
const { queryByText, getByAltText } = render(tree);
32-
expect(queryByText('loading')).toBeDefined();
32+
expect(queryByText('loading')).not.toBeNull();
3333

3434
imgs.forEach(img => img.onload?.(new Event('img load')));
3535

36-
await waitFor(() => expect(getByAltText('myimage')).toBeDefined());
36+
await waitFor(() => expect(getByAltText('myimage')).not.toBeNull());
3737
});
3838

3939
it('suspends then resolves with custom component', async () => {
@@ -66,50 +66,50 @@ describe('<Img />', () => {
6666
<Img component={MyComponent} size="large" />;
6767
};
6868
const tree = (
69-
<CacheProvider>
69+
<DataProvider>
7070
<Suspense fallback="loading">
7171
<Img
7272
component={MyComponent}
7373
src="http://test.com/myimage.png"
7474
size="large"
7575
/>
7676
</Suspense>
77-
</CacheProvider>
77+
</DataProvider>
7878
);
7979
const { queryByText, getByTestId } = render(tree);
80-
expect(queryByText('loading')).toBeDefined();
80+
expect(queryByText('loading')).not.toBeNull();
8181

8282
imgs.forEach(img => img.onload?.(new Event('img load')));
8383

84-
await waitFor(() => expect(getByTestId('mycomponent')).toBeDefined());
84+
await waitFor(() => expect(getByTestId('mycomponent')).not.toBeNull());
8585
});
8686

8787
it('still resolves even when network request fails', async () => {
8888
const tree = (
89-
<CacheProvider>
89+
<DataProvider>
9090
<Suspense fallback="loading">
9191
<Img src="http://test.com/myimage.png" alt="myimage" />
9292
</Suspense>
93-
</CacheProvider>
93+
</DataProvider>
9494
);
9595
const { queryByText, getByAltText } = render(tree);
96-
expect(queryByText('loading')).toBeDefined();
96+
expect(queryByText('loading')).not.toBeNull();
9797

9898
imgs.forEach(img => img.onerror?.(new Event('img load')));
9999

100-
await waitFor(() => expect(getByAltText('myimage')).toBeDefined());
100+
await waitFor(() => expect(getByAltText('myimage')).not.toBeNull());
101101
});
102102

103103
it('no suspense and no fetch with no src', async () => {
104104
const tree = (
105-
<CacheProvider>
105+
<DataProvider>
106106
<Suspense fallback="loading">
107107
<Img alt="myimage" />
108108
</Suspense>
109-
</CacheProvider>
109+
</DataProvider>
110110
);
111111
const { getByAltText } = render(tree);
112112

113-
await waitFor(() => expect(getByAltText('myimage')).toBeDefined());
113+
await waitFor(() => expect(getByAltText('myimage')).not.toBeNull());
114114
});
115115
});

packages/img/src/getImage.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ const getImage: EndpointInstance<
2929
key(this: EndpointInstance, { src }: { src: string }) {
3030
return `GET ${src}`;
3131
},
32-
schema: '',
3332
},
3433
);
3534
export default getImage;

0 commit comments

Comments
 (0)