1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-12-23 01:30:01 +01:00
blog/test/vitest.setup.ts

37 lines
1.0 KiB
TypeScript

import { vi, afterEach } from 'vitest'
import { cleanup } from '@testing-library/react'
import * as wagmiMock from './__mocks__/wagmi'
import * as rainbowkitMock from './__mocks__/@rainbow-me/rainbowkit'
import balanceMock from './__fixtures__/balance.json'
import '@testing-library/jest-dom'
// viem uses TextEncoder and TextDecoder which are not available with jsdom 16+
import { TextEncoder, TextDecoder } from 'node:util'
Object.assign(global, { TextDecoder, TextEncoder })
Object.defineProperty(window, 'localStorage', {
value: {
getItem: vi.fn(() => null),
removeItem: vi.fn(() => null),
setItem: vi.fn(() => null)
},
writable: true
})
vi.mock('wagmi', () => wagmiMock)
vi.mock('@rainbow-me/rainbowkit', () => rainbowkitMock)
vi.mock('@features/Web3/hooks/useFetchTokens', () => ({
useFetchTokens: () => ({
isLoading: false,
data: balanceMock
})
}))
// vi.mock('@features/Web3/stores/selectedToken', () => ({
// $selectedToken: balanceMock[0]
// }))
afterEach(() => {
cleanup()
})