mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
build: fix nx.json (#2951)
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
/**
|
||||
* @vitest-environment happy-dom
|
||||
*/
|
||||
import {
|
||||
getLoginStorage,
|
||||
isExpired,
|
||||
loginResponseSchema,
|
||||
parseIdToken,
|
||||
setLoginStorage,
|
||||
} from '@affine/workspace/affine/login';
|
||||
import user1 from '@affine-test/fixtures/built-in-user1.json';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { afterEach, describe, expect, test } from 'vitest';
|
||||
|
||||
import { useAffineRefreshAuthToken } from '../../../hooks/affine/use-affine-refresh-auth-token';
|
||||
|
||||
afterEach(() => {
|
||||
localStorage.clear();
|
||||
});
|
||||
|
||||
describe('AFFiNE workspace', () => {
|
||||
test('Provider', async () => {
|
||||
expect(getLoginStorage()).toBeNull();
|
||||
const data = await fetch('http://127.0.0.1:3000/api/user/token', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
type: 'DebugLoginUser',
|
||||
email: user1.email,
|
||||
password: user1.password,
|
||||
}),
|
||||
}).then(r => r.json());
|
||||
loginResponseSchema.parse(data);
|
||||
setLoginStorage({
|
||||
// expired token that already expired
|
||||
token:
|
||||
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2ODA4MjE0OTQsImlkIjoiaFd0dkFoM1E3SGhiWVlNeGxyX1I0IiwibmFtZSI6ImRlYnVnMSIsImVtYWlsIjoiZGVidWcxQHRvZXZlcnl0aGluZy5pbmZvIiwiYXZhdGFyX3VybCI6bnVsbCwiY3JlYXRlZF9hdCI6MTY4MDgxNTcxMTAwMH0.fDSkbM-ovmGD21sKYSTuiqC1dTiceOfcgIUfI2dLsBk',
|
||||
// but refresh is still valid
|
||||
refresh: data.refresh,
|
||||
});
|
||||
const hook = renderHook(() => useAffineRefreshAuthToken(1));
|
||||
await new Promise(resolve => setTimeout(resolve, 3000));
|
||||
const userData = parseIdToken(getLoginStorage()?.token as string);
|
||||
expect(userData).not.toBeNull();
|
||||
expect(isExpired(userData)).toBe(false);
|
||||
hook.unmount();
|
||||
});
|
||||
});
|
||||
@@ -1,38 +0,0 @@
|
||||
/**
|
||||
* @vitest-environment node
|
||||
*/
|
||||
import { loginResponseSchema } from '@affine/workspace/affine/login';
|
||||
import type { affineApis as API } from '@affine/workspace/affine/shared';
|
||||
import { beforeAll, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
let affineApis: typeof API;
|
||||
|
||||
beforeAll(async () => {
|
||||
// @ts-expect-error
|
||||
globalThis.window = undefined;
|
||||
affineApis = (await import('@affine/workspace/affine/shared')).affineApis;
|
||||
});
|
||||
|
||||
describe('apis', () => {
|
||||
it('should defined', async () => {
|
||||
expect(affineApis).toBeDefined();
|
||||
expect(affineApis).toBe(globalThis.AFFINE_APIS);
|
||||
});
|
||||
|
||||
it('login mock user', async () => {
|
||||
const setItem = vi.fn((key: string, value: unknown) => {
|
||||
expect(key).toBe('affine-login-v2');
|
||||
expect(value).toBeTypeOf('string');
|
||||
loginResponseSchema.parse(JSON.parse(value as string));
|
||||
});
|
||||
vi.stubGlobal('localStorage', {
|
||||
setItem,
|
||||
});
|
||||
expect(globalThis.AFFINE_DEBUG).toBeDefined();
|
||||
expect(globalThis.AFFINE_DEBUG.loginMockUser1).toBeTypeOf('function');
|
||||
expect(globalThis.AFFINE_DEBUG.loginMockUser2).toBeTypeOf('function');
|
||||
await (globalThis.AFFINE_DEBUG.loginMockUser1 as () => Promise<unknown>)();
|
||||
await (globalThis.AFFINE_DEBUG.loginMockUser2 as () => Promise<unknown>)();
|
||||
expect(setItem).toBeCalledTimes(2);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user