import { mocked } from 'ts-jest/utils'; import { getAuthCode } from '../../../../service/mini/workbench/auth'; import { initConfig } from '../../../util'; import request from '../../../../utils/request'; jest.mock('../../../../utils/request'); beforeAll(() => { initConfig(); }); afterEach(() => { mocked(request).mockReset(); }); describe('Auth: test', () => { describe('getAuthCode', () => { it('静默授权', async () => { const expected = { authCode: '', authDestUrl: '', }; mocked(request).mockResolvedValue(expected); const result = await getAuthCode({ appId: '2021001107626425', scopes: 'auth_base', }); expect(Object.keys(result)).toStrictEqual(['authCode', 'authDestUrl']); }); it('获取用户信息', async () => { const expected = { authCode: '', authDestUrl: '', }; mocked(request).mockResolvedValue(expected); const result = await getAuthCode({ appId: '2021001107626425', scopes: 'auth_user', }); expect(Object.keys(result)).toStrictEqual(['authCode', 'authDestUrl']); }); it('数组参数', async () => { await getAuthCode({ appId: '2021001107626425', scopes: ['auth_base', 'auth_user'], }); expect(mocked(request).mock.calls.length).toBe(1); expect(mocked(request).mock.calls[0][0].data).toStrictEqual({ appId: '2021001107626425', scopes: 'auth_base,auth_user', }); }); }); });