|
1 | 1 | import { describe, it, expect } from 'vitest'; |
2 | | -import { renderHook, act } from '@testing-library/preact'; |
| 2 | +import { renderHook, act, waitFor } from '@testing-library/preact'; |
3 | 3 | import { http, HttpResponse } from 'msw'; |
4 | 4 | import { server, buildFeedResponse } from './mocks/server'; |
5 | 5 | import { useFeedConversion } from '../hooks/useFeedConversion'; |
@@ -52,9 +52,11 @@ describe('useFeedConversion contract', () => { |
52 | 52 | expect(result.current.result?.feed.feed_token).toBe('generated-token'); |
53 | 53 | expect(result.current.result?.feed.public_url).toBe('/api/v1/feeds/generated-token'); |
54 | 54 | expect(result.current.result?.feed.json_public_url).toBe('/api/v1/feeds/generated-token.json'); |
55 | | - expect(result.current.result?.preview.error).toBeNull(); |
56 | | - expect(result.current.result?.preview.isLoading).toBe(false); |
57 | | - expect(result.current.result?.preview.items).toHaveLength(1); |
| 55 | + await waitFor(() => { |
| 56 | + expect(result.current.result?.preview.error).toBeNull(); |
| 57 | + expect(result.current.result?.preview.isLoading).toBe(false); |
| 58 | + expect(result.current.result?.preview.items).toHaveLength(1); |
| 59 | + }); |
58 | 60 | }); |
59 | 61 |
|
60 | 62 | it('propagates API validation errors', async () => { |
@@ -124,8 +126,10 @@ describe('useFeedConversion contract', () => { |
124 | 126 |
|
125 | 127 | expect(result.current.error).toBeNull(); |
126 | 128 | expect(result.current.result?.feed.feed_token).toBe('generated-token'); |
127 | | - expect(result.current.result?.preview.items).toEqual([]); |
128 | | - expect(result.current.result?.preview.error).toBe('Preview unavailable right now.'); |
129 | | - expect(result.current.result?.preview.isLoading).toBe(false); |
| 129 | + await waitFor(() => { |
| 130 | + expect(result.current.result?.preview.items).toEqual([]); |
| 131 | + expect(result.current.result?.preview.error).toBe('Preview unavailable right now.'); |
| 132 | + expect(result.current.result?.preview.isLoading).toBe(false); |
| 133 | + }); |
130 | 134 | }); |
131 | 135 | }); |
0 commit comments