mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-09-12 16:40:40 +08:00
938c09ad4e
- 友链接入:friend-links 双 tab(站点/小程序)、小程序详情弹窗(太阳码长按保存/地址复制/预览图轮播/作者信息)、申请收录弹窗(POST /submissions) - 审核配置接入:新增 getAuditData,移除旧 mockJson,9 页审核模式改为真实数据按 name 过滤,友链站点 tab 按 LinkGroup 过滤、小程序 tab 隐藏 - 修复:补 uni.getLocale mock、pages.json vitest alias、getI18nText 无占位符容错、getPostList 参数类型 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { createPinia, setActivePinia } from 'pinia'
|
|
import { beforeEach, vi } from 'vitest'
|
|
|
|
// 每个测试前重置 Pinia 实例,避免状态在测试间泄漏
|
|
beforeEach(() => {
|
|
// 不注册 pinia-plugin-persistedstate,测试只验证 store 逻辑,不验证持久化行为
|
|
setActivePinia(createPinia())
|
|
// 重置所有 mock 的调用记录(保留实现,仅清空 .mock.calls 等)
|
|
vi.clearAllMocks()
|
|
})
|
|
|
|
// 全局 mock uni 对象(jsdom 中无此全局,uni-app 特有)
|
|
const uniMock = {
|
|
showToast: vi.fn(),
|
|
hideToast: vi.fn(),
|
|
showLoading: vi.fn(),
|
|
hideLoading: vi.fn(),
|
|
showModal: vi.fn(),
|
|
navigateTo: vi.fn(),
|
|
redirectTo: vi.fn(),
|
|
navigateBack: vi.fn(),
|
|
switchTab: vi.fn(),
|
|
reLaunch: vi.fn(),
|
|
// tabbar/store.ts 在模块初始化时调用 getStorageSync,返回 null 确保不影响初始状态
|
|
getStorageSync: vi.fn().mockReturnValue(null),
|
|
setStorageSync: vi.fn(),
|
|
removeStorageSync: vi.fn(),
|
|
getStorage: vi.fn(),
|
|
setStorage: vi.fn(),
|
|
removeStorage: vi.fn(),
|
|
request: vi.fn(),
|
|
uploadFile: vi.fn(),
|
|
chooseImage: vi.fn(),
|
|
getSystemInfoSync: vi.fn().mockReturnValue({ platform: 'devtools' }),
|
|
getSystemInfo: vi.fn(),
|
|
getLocale: vi.fn().mockReturnValue('zh-Hans'),
|
|
onNetworkStatusChange: vi.fn(),
|
|
getNetworkType: vi.fn(),
|
|
}
|
|
|
|
Object.defineProperty(globalThis, 'uni', {
|
|
value: uniMock,
|
|
writable: true,
|
|
configurable: true,
|
|
})
|
|
|
|
// getCurrentPages 是 uni-app 的全局函数(不在 uni 对象上)
|
|
Object.defineProperty(globalThis, 'getCurrentPages', {
|
|
value: vi.fn().mockReturnValue([{ route: '/pages/index/index' }]),
|
|
writable: true,
|
|
configurable: true,
|
|
})
|