import { init } from '../../../src/mp/app/tcb'; import * as CLOUD_SDK from '@cloudbase/weda-cloud-sdk'; import * as user from '../../../src/mp/auth/user'; describe('test mp/app/tcb.ts', () => { it('test init', async () => { const initConfig = { /** 当前是否处于正式发布模式 */ isProd: false, /** 低码应用ID */ appId: 'app-vR1qVUJk', /** 云开发环境ID */ envId: 'lowcode-9gu72kpiac8de2d6', /** 应用端ID */ tcbClientId: 'AOJ8yAABVeeUnKvtOuM', /** 云开发资源所属的微信app id */ resourceAppid: '', /** 数据源描述对象数组 */ dataSourceProfiles: [], /** * 新的dataset变量配置对象 * key 为页面ID(全局为$global), val 为变量配置数组 */ datasetProfiles: { $global: { state: {}, }, index: { state: { bianliang: { name: 'bianliang', varType: 'state', dataType: 'string', initMethod: {}, initialValue: 'eeee', }, }, pageName: '首页', }, }, }; jest.spyOn(user, 'getUserInfo').mockReturnValue(new Promise((resolve) => resolve({} as any))); const initTcbRes = { app: {} as any, auth: {} as any, }; jest.spyOn(CLOUD_SDK, 'initTcb').mockImplementation(async () => { return new Promise((resolve, reject) => { resolve(initTcbRes); }); }); const res = await init(initConfig); expect(res).toBe(initTcbRes); expect(CLOUD_SDK.initTcb).toBeCalled(); expect(user.getUserInfo).toBeCalled(); }); });