/** * @vitest-environment happy-dom */ import 'fake-indexeddb/auto'; import { DataCenter, getDataCenter } from '@affine/datacenter'; import { createDefaultWorkspace, GlobalAppProvider, useGlobalState, useGlobalStateApi, } from '@affine/store'; import { render } from '@testing-library/react'; import React from 'react'; import { describe, expect, test } from 'vitest'; describe('App Store', () => { test('init', async () => { const dataCenterPromise = getDataCenter(); const dataCenter = await dataCenterPromise; await createDefaultWorkspace(dataCenter); const Inner = () => { const state = useGlobalState(); expect(state).toBeTypeOf('object'); expect(state.dataCenter).toBeInstanceOf(DataCenter); expect(state.dataCenterPromise).toBeInstanceOf(Promise); state.dataCenterPromise.then(dc => expect(dc).toBe(state.dataCenter)); return
Test2
; }; const Loader = ({ children }: React.PropsWithChildren) => { const api = useGlobalStateApi(); if (!api.getState().dataCenter) { api.setState({ dataCenter, dataCenterPromise, }); } return <>{children}; }; const App = () => (
Test1
); const app = render(); app.getByText('Test2'); }); });