|
1 | 1 | import fetch from 'jest-fetch-mock'; |
2 | | -import { renderHook } from '@testing-library/react-hooks'; |
| 2 | +import { renderHook, act } from '@testing-library/react-hooks'; |
3 | 3 | import useCollection from './useCollection'; |
4 | 4 | import wrapper from './wrapper'; |
5 | 5 |
|
@@ -88,4 +88,34 @@ describe('useCollection' ,() => { |
88 | 88 | detail: 'Wrong query' |
89 | 89 | }); |
90 | 90 | }); |
| 91 | + |
| 92 | + it('reloads collection', async () => { |
| 93 | + fetch |
| 94 | + .mockResponseOnce(JSON.stringify({ links: [] }), { url: 'https://fake-stac-api.net' }) |
| 95 | + .mockResponseOnce(JSON.stringify({ |
| 96 | + collections: [ |
| 97 | + {id: 'abc', title: 'Collection A'}, |
| 98 | + {id: 'def', title: 'Collection B'} |
| 99 | + ] |
| 100 | + })) |
| 101 | + .mockResponseOnce(JSON.stringify({ |
| 102 | + collections: [ |
| 103 | + {id: 'abc', title: 'Collection A - Updated'}, |
| 104 | + {id: 'def', title: 'Collection B'} |
| 105 | + ] |
| 106 | + })); |
| 107 | + |
| 108 | + const { result, waitForNextUpdate } = renderHook( |
| 109 | + () => useCollection('abc'), |
| 110 | + { wrapper } |
| 111 | + ); |
| 112 | + await waitForNextUpdate(); |
| 113 | + await waitForNextUpdate(); |
| 114 | + expect(result.current.collection).toEqual({id: 'abc', title: 'Collection A'}); |
| 115 | + |
| 116 | + act(() => result.current.reload()); |
| 117 | + |
| 118 | + await waitForNextUpdate(); |
| 119 | + expect(result.current.collection).toEqual({id: 'abc', title: 'Collection A - Updated'}); |
| 120 | + }); |
91 | 121 | }); |
0 commit comments