diff --git a/test/cases/web/support/user/api.test.ts b/test/cases/web/support/user/api.test.ts new file mode 100644 index 000000000..ea5d2965b --- /dev/null +++ b/test/cases/web/support/user/api.test.ts @@ -0,0 +1,151 @@ +import { describe, expect, it, vi } from 'vitest'; +import * as api from '@/web/support/user/api'; +import { UserAuthTypeEnum } from '@fastgpt/global/support/user/auth/constants'; +import { hashStr } from '@fastgpt/global/common/string/tools'; + +vi.mock('@/web/common/api/request', () => ({ + GET: vi.fn(), + POST: vi.fn(), + PUT: vi.fn() +})); + +describe('user api', () => { + it('should send auth code', async () => { + const data = { + username: 'test@test.com', + type: UserAuthTypeEnum.register, + googleToken: 'token123', + captcha: 'captcha123' + }; + await api.sendAuthCode(data); + }); + + it('should get token login', async () => { + await api.getTokenLogin(); + }); + + it('should oauth login', async () => { + const params = { + platform: 'github', + code: 'code123', + state: 'state123' + }; + await api.oauthLogin(params); + }); + + it('should fast login', async () => { + const params = { + token: 'token123' + }; + await api.postFastLogin(params); + }); + + it('should register user', async () => { + const data = { + username: 'test@test.com', + password: 'password123', + code: '123456', + inviterId: 'inviter123', + bd_vid: 'vid123', + msclkid: 'click123', + fastgpt_sem: 'sem123' + }; + await api.postRegister(data); + }); + + it('should find password', async () => { + const data = { + username: 'test@test.com', + code: '123456', + password: 'newpassword' + }; + await api.postFindPassword(data); + }); + + it('should update password by old password', async () => { + const data = { + oldPsw: 'oldpassword', + newPsw: 'newpassword' + }; + await api.updatePasswordByOld(data); + }); + + it('should reset password', async () => { + await api.resetPassword('newpassword'); + }); + + it('should check password expired', async () => { + await api.getCheckPswExpired(); + }); + + it('should update notification account', async () => { + const data = { + account: 'test@test.com', + verifyCode: '123456' + }; + await api.updateNotificationAccount(data); + }); + + it('should update contact', async () => { + const data = { + contact: 'test@test.com', + verifyCode: '123456' + }; + await api.updateContact(data); + }); + + it('should login', async () => { + const data = { + username: 'test@test.com', + password: 'password123' + }; + await api.postLogin(data); + }); + + it('should logout', async () => { + await api.loginOut(); + }); + + it('should update user info', async () => { + const data = { + name: 'Test User', + avatar: 'avatar.jpg' + }; + await api.putUserInfo(data); + }); + + it('should get WX login QR', async () => { + await api.getWXLoginQR(); + }); + + it('should get WX login result', async () => { + const params = { + code: 'code123' + }; + await api.getWXLoginResult(params); + }); + + it('should get captcha pic', async () => { + await api.getCaptchaPic('test@test.com'); + }); + + it('should get pre login info', async () => { + await api.getPreLogin('test@test.com'); + }); + + it('should sync members', async () => { + await api.postSyncMembers(); + }); + + it('should search users', async () => { + await api.GetSearchUserGroupOrg('test', { + members: true, + orgs: true, + groups: true + }); + }); + + it('should export members', async () => { + await api.ExportMembers(); + }); +});