mirror of https://github.com/allinssl/allinssl
37 lines
953 B
JavaScript
37 lines
953 B
JavaScript
import 'fake-indexeddb/auto'
|
|
import { vi } from 'vitest'
|
|
import { indexedDB, IDBKeyRange } from 'fake-indexeddb'
|
|
// 设置全局变量
|
|
globalThis.indexedDB = indexedDB
|
|
globalThis.IDBKeyRange = IDBKeyRange
|
|
// 清理 IndexedDB 数据库的辅助函数
|
|
async function clearIndexedDB() {
|
|
const databases = indexedDB._databases
|
|
if (databases && databases instanceof Map) {
|
|
const databaseNames = Array.from(databases.keys())
|
|
await Promise.all(
|
|
databaseNames.map(
|
|
(name) =>
|
|
new Promise((resolve, reject) => {
|
|
const request = indexedDB.deleteDatabase(name)
|
|
request.onerror = () => reject(request.error)
|
|
request.onsuccess = () => resolve()
|
|
}),
|
|
),
|
|
)
|
|
}
|
|
}
|
|
// 清理函数
|
|
beforeEach(async () => {
|
|
// 重置所有模拟
|
|
vi.resetModules()
|
|
// 清理 indexedDB
|
|
await clearIndexedDB()
|
|
})
|
|
// 测试完成后清理
|
|
afterEach(async () => {
|
|
// 清理 indexedDB
|
|
await clearIndexedDB()
|
|
})
|
|
//# sourceMappingURL=setup.js.map
|