f845695f6e
* feat: add token and nft injection * feat: basic tests * fix: get jest configured properly * fix: change timeout * fix: uninstall port ready * fix: readd port ready * fix: local tests work * Update yarn.lock * add lint disable for setup files * fix: update dependencies * fix: basic test suite for nfts/tokens * feat: collection data * fix: make tests more comprehensive * fix: change matches to contains * fix: tests for twitter alt image tag * fix: image gen * fix: add patch-package * fix: update yarn install * feat: basic image gen for nfts and collections * fix: remove vibrant attempt * use watermark asset * dynamically grab color * modularize code and prototype for token preview * refactor code * finalize css * fix color grabber * update tests * fix up css * refactor code a bit more * remove console logs * tests * update tests * update images based on design feedback * network logos * update lint * slight refactoring * more refactoring * fix packages * Update yarn.lock * remove dynamically generated image stuff * cleanup return values * Create README.md * Revert "Create README.md" This reverts commit 7a91c98d384995fba914c9bf9a2fb3072793621f. * First round of feedback * comments * feat: cache * Update test.yml * Update test.yml * Update test.yml * feedback round 2 * final feedback * final final feedback * add coverage and other options * Update test.yml * start typecheck * update cache * update snapshots? * Update jest.config.json * Update jest.config.json * give timeout some buffer * update import * upgrade ts * fix typing for apollo deps * finalize typechecks * downgrade typescript to original version * add cache directory to jest * remove coverage * remove google analytics from tests * review changes * try cache setup * Update cache.test.ts * make cache helper function * cache test * remove unneeded test causing issues * feat: parallelize cache (#6930) * feat: parallelize cache? * remove graph query from concurrency await * most of feedback * move tests * update token tests * singleton cache * restructuring res and cache promise * abstract away repeated graph logic * final feedback * Update yarn.lock * final final feedback * final final final feedback! * final final final final feedback?
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import * as matchers from 'jest-extended'
|
|
expect.extend(matchers)
|
|
|
|
import { mocked } from '../../src/test-utils/mocked'
|
|
import Cache from './cache'
|
|
import getRequest from './getRequest'
|
|
|
|
jest.mock('./cache', () => ({
|
|
match: jest.fn(),
|
|
put: jest.fn(),
|
|
}))
|
|
|
|
test('should call Cache.match before calling getData when request is not cached', async () => {
|
|
const url = 'https://example.com'
|
|
const getData = jest.fn().mockResolvedValueOnce({
|
|
title: 'test',
|
|
image: 'testImage',
|
|
url: 'testUrl',
|
|
})
|
|
await getRequest(Promise.resolve(new Response()), url, getData)
|
|
expect(Cache.match).toHaveBeenCalledWith(url)
|
|
expect(getData).toHaveBeenCalled()
|
|
expect(Cache.match).toHaveBeenCalledBefore(getData)
|
|
expect(Cache.put).toHaveBeenCalledAfter(getData)
|
|
})
|
|
|
|
test('getData should not be called when request is cached', async () => {
|
|
const url = 'https://example.com'
|
|
mocked(Cache.match).mockResolvedValueOnce({
|
|
title: 'test',
|
|
image: 'testImage',
|
|
url: 'testUrl',
|
|
})
|
|
const getData = jest.fn()
|
|
await getRequest(Promise.resolve(new Response()), url, getData)
|
|
expect(Cache.match).toHaveBeenCalledWith(url)
|
|
expect(getData).not.toHaveBeenCalled()
|
|
})
|