diff --git a/src/fake.test.js b/src/fake.test.js index a9dc29ae..fb8ef242 100644 --- a/src/fake.test.js +++ b/src/fake.test.js @@ -27,6 +27,23 @@ describe('hooks with fake data', () => { storage = createStorage({}) }) + it('does not use cache', async () => { + storage.cache.user = JSON.stringify({ user: 'cached' }) + await act(async () => { + const { + result, + waitForNextUpdate, + } = renderHook(() => useUser(), { wrapper }) + + await waitForNextUpdate() + await waitForNextUpdate() + + expect(result.current.data).toEqual({ + firstName: 'Namn', + lastName: 'Namnsson', + }) + }) + }) it('returns user', async () => { await act(async () => { const { diff --git a/src/hooks.ts b/src/hooks.ts index 225ed225..4868f371 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -51,12 +51,13 @@ const hook = ( defaultValue, apiCall: apiCaller(api), } - // Only get from cache first time - if (state.status === 'pending') { - extra.getFromCache = () => storage.getItem(key) - } - // Only save real data to cache + + // Only use cache when not in fake mode if (!api.isFake) { + // Only get from cache first time + if (state.status === 'pending') { + extra.getFromCache = () => storage.getItem(key) + } extra.saveToCache = (value: string) => storage.setItem(key, value) } const action = loadAction(entityName, extra) diff --git a/src/useCalendar.test.js b/src/useCalendar.test.js index bc8f1981..bacf6b1e 100644 --- a/src/useCalendar.test.js +++ b/src/useCalendar.test.js @@ -137,7 +137,6 @@ describe('useCalendar(child)', () => { const { waitForNextUpdate } = renderHook(() => useCalendar(child), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useChildlist.test.js b/src/useChildlist.test.js index 96a0f0c8..523f2007 100644 --- a/src/useChildlist.test.js +++ b/src/useChildlist.test.js @@ -123,7 +123,6 @@ describe('useChildList()', () => { const { waitForNextUpdate } = renderHook(() => useChildList(), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useClassmates.test.js b/src/useClassmates.test.js index 6e116d77..0eb30e72 100644 --- a/src/useClassmates.test.js +++ b/src/useClassmates.test.js @@ -125,7 +125,6 @@ describe('useClassmates(child)', () => { const { waitForNextUpdate } = renderHook(() => useClassmates(child), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useMenu.test.js b/src/useMenu.test.js index 9be2217b..bda6f15a 100644 --- a/src/useMenu.test.js +++ b/src/useMenu.test.js @@ -125,7 +125,6 @@ describe('useMenu(child)', () => { const { waitForNextUpdate } = renderHook(() => useMenu(child), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useNews.test.js b/src/useNews.test.js index e3953864..f89de838 100644 --- a/src/useNews.test.js +++ b/src/useNews.test.js @@ -125,7 +125,6 @@ describe('useNews(child)', () => { const { waitForNextUpdate } = renderHook(() => useNews(child), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useNotifications.test.js b/src/useNotifications.test.js index ca37b459..1a4ae383 100644 --- a/src/useNotifications.test.js +++ b/src/useNotifications.test.js @@ -125,7 +125,6 @@ describe('useNotifications(child)', () => { const { waitForNextUpdate } = renderHook(() => useNotifications(child), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useSchedule.test.js b/src/useSchedule.test.js index e275638a..15d64626 100644 --- a/src/useSchedule.test.js +++ b/src/useSchedule.test.js @@ -129,7 +129,6 @@ describe('useSchedule(child, from, to)', () => { const { waitForNextUpdate } = renderHook(() => useSchedule(child, from, to), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20) diff --git a/src/useUser.test.js b/src/useUser.test.js index 3758897c..2bc72eab 100644 --- a/src/useUser.test.js +++ b/src/useUser.test.js @@ -123,7 +123,6 @@ describe('useUser()', () => { const { waitForNextUpdate } = renderHook(() => useUser(), { wrapper }) - await waitForNextUpdate() await waitForNextUpdate() await waitForNextUpdate() await pause(20)