import { FALLBACK, TEXT } from '@suspensive/utils' import { render, screen } from '@testing-library/react' import { Suspense } from 'react' import { Cache } from './Cache' import { cacheOptions } from './cacheOptions' import { CacheProvider } from './CacheProvider' import { Read } from './Read' import { useRead } from './useRead' const key = (id: number) => ['key', id] as const const successCache = () => cacheOptions({ cacheKey: key(1), cacheFn: () => Promise.resolve(TEXT) }) describe('cacheOptions', () => { let cache: Cache beforeEach(() => { cache = new Cache() }) it('should be used with Read', async () => { render( {(cached) => <>{cached.data}} ) expect(await screen.findByText(TEXT)).toBeInTheDocument() }) it('should be used with useRead', async () => { const CacheComponent = () => { const cached = useRead(successCache()) return <>{cached.data} } render( ) expect(await screen.findByText(TEXT)).toBeInTheDocument() }) })