diff --git a/apps/web/src/pages/_app.tsx b/apps/web/src/pages/_app.tsx index 9eb998ba3d..d1ff9c7196 100644 --- a/apps/web/src/pages/_app.tsx +++ b/apps/web/src/pages/_app.tsx @@ -67,6 +67,10 @@ const App = function App({ > AFFiNE + {getLayout()} diff --git a/apps/web/src/pages/_document.tsx b/apps/web/src/pages/_document.tsx index d97b1c60e1..dd1c94ffca 100644 --- a/apps/web/src/pages/_document.tsx +++ b/apps/web/src/pages/_document.tsx @@ -51,7 +51,6 @@ export default class AppDocument extends Document<{ /> - { dispose.dispose(); }; } + } else { + // fixme: should create new workspace + jumpToSubPath('ERROR', WorkspaceSubPath.ALL, RouteLogic.REPLACE); } }, [jumpToPage, jumpToSubPath, lastWorkspaceId, router, workspaces]); - return ; + return ; }; const IndexPage: NextPage = () => { diff --git a/packages/workspace/src/affine/__tests__/api.spec.ts b/packages/workspace/src/affine/__tests__/api.spec.ts index 5599d8d780..953b345b3f 100644 --- a/packages/workspace/src/affine/__tests__/api.spec.ts +++ b/packages/workspace/src/affine/__tests__/api.spec.ts @@ -4,15 +4,23 @@ import 'fake-indexeddb/auto'; import userA from '@affine-test/fixtures/userA.json'; +import { assertExists } from '@blocksuite/global/utils'; import { Workspace } from '@blocksuite/store'; import { beforeAll, beforeEach, describe, expect, test } from 'vitest'; import { createWorkspaceApis, createWorkspaceResponseSchema } from '../api'; -import { loginResponseSchema, setLoginStorage } from '../login'; +import { + createAffineAuth, + getLoginStorage, + loginResponseSchema, + setLoginStorage, +} from '../login'; let workspaceApis: ReturnType; +let affineAuth: ReturnType; beforeAll(() => { + affineAuth = createAffineAuth('http://localhost:3000/'); workspaceApis = createWorkspaceApis('http://localhost:3000/'); }); @@ -49,6 +57,12 @@ beforeEach(async () => { }); describe('api', () => { + test('refresh token', async () => { + const storage = getLoginStorage(); + assertExists(storage); + loginResponseSchema.parse(await affineAuth.refreshToken(storage)); + }); + test( 'create workspace', async () => { diff --git a/packages/workspace/src/affine/login.ts b/packages/workspace/src/affine/login.ts index f2b14fa125..9018e82cd2 100644 --- a/packages/workspace/src/affine/login.ts +++ b/packages/workspace/src/affine/login.ts @@ -85,7 +85,7 @@ declare global { var firebaseAuthEmulatorStarted: boolean | undefined; } -export function createAffineAuth() { +export function createAffineAuth(prefix = '/') { let _firebaseAuth: FirebaseAuth | null = null; const getAuth = (): FirebaseAuth | null => { try { @@ -138,7 +138,7 @@ export function createAffineAuth() { const response = await signInWithPopup(auth, provider); const idToken = await response.user.getIdToken(); logger.debug(idToken); - return fetch('/api/user/token', { + return fetch(prefix + 'api/user/token', { method: 'POST', headers: { 'Content-Type': 'application/json', @@ -161,7 +161,7 @@ export function createAffineAuth() { refreshToken: async ( loginResponse: LoginResponse ): Promise => { - return fetch('/api/user/token', { + return fetch(prefix + 'api/user/token', { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/tests/parallels/local-first-workspace.spec.ts b/tests/parallels/local-first-workspace.spec.ts index 1fd37c5f78..73db449e64 100644 --- a/tests/parallels/local-first-workspace.spec.ts +++ b/tests/parallels/local-first-workspace.spec.ts @@ -9,6 +9,7 @@ test.describe('Local first default workspace', () => { test('preset workspace name', async ({ page }) => { await openHomePage(page); const workspaceName = page.getByTestId('workspace-name'); + await page.waitForTimeout(1000); expect(await workspaceName.textContent()).toBe('Demo Workspace'); await assertCurrentWorkspaceFlavour('local', page); });