1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-11-24 10:58:13 +01:00
blog/test/vitest.setup.ts

37 lines
1.1 KiB
TypeScript

import { vi, afterEach } from 'vitest'
import { cleanup } from '@testing-library/react'
import * as wagmiMock from './__mocks__/wagmi'
import * as wagmiActionsMock from './__mocks__/wagmi/actions'
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('wagmi/actions', () => wagmiActionsMock)
vi.mock('@rainbow-me/rainbowkit', () => rainbowkitMock)
vi.mock('@features/Web3/hooks/useFetchTokens', () => ({
useFetchTokens: () => ({ isLoading: false, data: balanceMock })
}))
// vi.mock('@features/Web3/stores', () => ({
// $selectedToken: balanceMock[0],
// $amount: '1'
// }))
afterEach(() => {
cleanup()
})