lobe-chat
1/* eslint-disable import/newline-after-import,import/first */
2import '@testing-library/jest-dom';3import { theme } from 'antd';4// mock indexedDB to test with dexie
5// refs: https://github.com/dumbmatter/fakeIndexedDB#dexie-and-other-indexeddb-api-wrappers
6import 'fake-indexeddb/auto';7import React from 'react';8
9// only inject in the dom environment
10if (11// not node runtime12typeof window !== 'undefined' &&13// not edge runtime14typeof (globalThis as any).EdgeRuntime !== 'string'15) {16// test with canvas17await import('vitest-canvas-mock');18}
19
20// node runtime
21if (typeof window === 'undefined') {22// test with polyfill crypto23const { Crypto } = await import('@peculiar/webcrypto');24
25Object.defineProperty(global, 'crypto', {26value: new Crypto(),27writable: true,28});29}
30
31// remove antd hash on test
32theme.defaultConfig.hashed = false;33
34// 将 React 设置为全局变量,这样就不需要在每个测试文件中导入它了
35(global as any).React = React;36