taroMock.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * Taro API Mock 文件
  3. * 通过 jest.config.js 的 moduleNameMapper 重定向 @tarojs/taro 到这里
  4. */
  5. // 创建所有 Taro API 的 mock 函数
  6. export const mockShowToast = jest.fn()
  7. export const mockShowLoading = jest.fn()
  8. export const mockHideLoading = jest.fn()
  9. export const mockNavigateTo = jest.fn()
  10. export const mockShowModal = jest.fn()
  11. export const mockReLaunch = jest.fn()
  12. export const mockOpenCustomerServiceChat = jest.fn()
  13. export const mockUseRouter = jest.fn()
  14. export const mockRequestPayment = jest.fn()
  15. export const mockGetEnv = jest.fn()
  16. // 环境类型常量
  17. export const ENV_TYPE = {
  18. WEAPP: 'WEAPP',
  19. WEB: 'WEB',
  20. RN: 'RN',
  21. SWAN: 'SWAN',
  22. ALIPAY: 'ALIPAY',
  23. TT: 'TT',
  24. QQ: 'QQ',
  25. JD: 'JD',
  26. HARMONY: 'HARMONY'
  27. }
  28. // 导出所有 mock 函数,便于在测试中访问
  29. export default {
  30. // UI 相关
  31. showToast: mockShowToast,
  32. showLoading: mockShowLoading,
  33. hideLoading: mockHideLoading,
  34. showModal: mockShowModal,
  35. // 导航相关
  36. navigateTo: mockNavigateTo,
  37. navigateBack: jest.fn(),
  38. reLaunch: mockReLaunch,
  39. useRouter: () => mockUseRouter(),
  40. // 微信相关
  41. openCustomerServiceChat: mockOpenCustomerServiceChat,
  42. requestPayment: mockRequestPayment,
  43. // 系统信息
  44. getSystemInfoSync: () => ({
  45. statusBarHeight: 20
  46. }),
  47. getMenuButtonBoundingClientRect: () => ({
  48. width: 87,
  49. height: 32,
  50. top: 48,
  51. right: 314,
  52. bottom: 80,
  53. left: 227
  54. }),
  55. getEnv: mockGetEnv,
  56. // 环境类型常量
  57. ENV_TYPE
  58. }
  59. // 为命名导入导出所有函数
  60. export {
  61. mockShowToast as showToast,
  62. mockShowLoading as showLoading,
  63. mockHideLoading as hideLoading,
  64. mockShowModal as showModal,
  65. mockNavigateTo as navigateTo,
  66. mockReLaunch as reLaunch,
  67. mockUseRouter as useRouter,
  68. mockOpenCustomerServiceChat as openCustomerServiceChat,
  69. mockRequestPayment as requestPayment,
  70. mockGetEnv as getEnv
  71. }