mirror of
https://github.com/allinssl/allinssl.git
synced 2025-12-18 10:04:01 +08:00
【同步】前端项目源码
【修复】工作流兼容问题
This commit is contained in:
36
frontend/packages/vue/hooks/test/setup.js
Normal file
36
frontend/packages/vue/hooks/test/setup.js
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
Reference in New Issue
Block a user