build: fix nx.json (#2951)

This commit is contained in:
Alex Yang
2023-07-01 16:34:30 +08:00
parent 8f09df655c
commit 00604bd4b0
7 changed files with 25 additions and 114 deletions

View File

@@ -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();
});
});

View File

@@ -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);
});
});