AppFlowy/frontend/appflowy_tauri/src/tests/user.test.ts

43 lines
1.3 KiB
TypeScript
Raw Normal View History

Feat/appflowy tauri 2 (#1902) * chore: rename classes to models * refactor: add effects and reducers folder * chore: update user data storage path * chore: subscribe callback * chore: nav items persist, board layout (#1879) * chore: load workspace items, load folders and pages from workspace, load raw document data, load raw grid data * chore: clear folders and pages before load, new folder event * chore: update folder name backend call * chore: folder expand animation * chore: hide arrow on empty folder * chore: Board page layout, board store, board sample data * chore: board block item * chore: test db id * chore: persist new page, persist page rename, create workspace on read error * chore: boardblockitem details btn * chore: boardblockitem multiselect data and colors * chore: board item drag * chore: drag start on move * chore: remove databaseId * chore: remove databaseId * chore: import service classes into auth hook * chore: sign out option * chore: login page event * chore: signup event * chore: make workspace hook to use service * chore: page and folder hooks use backend services * chore: new folder use backend service * chore: error handler page * chore: try catch hooks to show error page * chore: install i18n package and use flutters i18n files * fix: signin signup margin * chore: fix compile errors * chore: remove unused codes * chore: open workspace after user register * chore: open workspace after user register * chore: add create grid demo * chore: load the cell data * chore: print the cell data * chore: fix project errors * fix: tauri UI issues (#1899) * chore: load workspace items, load folders and pages from workspace, load raw document data, load raw grid data * chore: clear folders and pages before load, new folder event * chore: update folder name backend call * chore: folder expand animation * chore: hide arrow on empty folder * chore: Board page layout, board store, board sample data * chore: board block item * chore: test db id * chore: persist new page, persist page rename, create workspace on read error * chore: boardblockitem details btn * chore: boardblockitem multiselect data and colors * chore: board item drag * chore: drag start on move * chore: remove databaseId * chore: remove databaseId * chore: import service classes into auth hook * chore: sign out option * chore: login page event * chore: signup event * chore: make workspace hook to use service * chore: page and folder hooks use backend services * chore: new folder use backend service * chore: error handler page * chore: try catch hooks to show error page * chore: install i18n package and use flutters i18n files * fix: signin signup margin * fix: new page overflow with folder * fix: sign out button * fix: sign out icon * chore: floating navigation panel * refactor: notify with error * chore: config window size * fix: test demo error * chore: update tests --------- Co-authored-by: Askarbek Zadauly <ascarbek@gmail.com>
2023-02-28 14:42:41 +00:00
import { AuthBackendService, UserBackendService } from '../appflowy_app/stores/effects/user/user_bd_svc';
import { randomFillSync } from 'crypto';
import { nanoid } from '@reduxjs/toolkit';
beforeAll(() => {
//@ts-ignore
window.crypto = {
// @ts-ignore
getRandomValues: function (buffer) {
// @ts-ignore
return randomFillSync(buffer);
},
};
});
describe('User backend service', () => {
it('sign up', async () => {
const service = new AuthBackendService();
const result = await service.autoSignUp();
expect(result.ok).toBeTruthy;
});
it('sign in', async () => {
const authService = new AuthBackendService();
const email = nanoid(4) + '@appflowy.io';
const password = nanoid(10);
const signUpResult = await authService.signUp({ name: 'nathan', email: email, password: password });
expect(signUpResult.ok).toBeTruthy;
const signInResult = await authService.signIn({ email: email, password: password });
expect(signInResult.ok).toBeTruthy;
});
it('get user profile', async () => {
const service = new AuthBackendService();
const result = await service.autoSignUp();
const userProfile = result.unwrap();
const userService = new UserBackendService(userProfile.id);
expect((await userService.getUserProfile()).unwrap()).toBe(userProfile);
});
});