refactor(store): move datacenter into global (#1118)

This commit is contained in:
Himself65
2023-02-19 01:35:18 -06:00
committed by GitHub
parent d7bbb0978f
commit b1298c4d3e
21 changed files with 120 additions and 98 deletions

View File

@@ -7,11 +7,10 @@ import { DataCenter, getDataCenter } from '@affine/datacenter';
import {
createDefaultWorkspace,
GlobalAppProvider,
useDataCenter,
useGlobalState,
useGlobalStateApi,
} from '@affine/store';
import { render } from '@testing-library/react';
import React from 'react';
import { describe, expect, test } from 'vitest';
describe('App Store', () => {
@@ -21,29 +20,16 @@ describe('App Store', () => {
await createDefaultWorkspace(dataCenter);
const Inner = () => {
const state = useGlobalState();
const dataCenter = useDataCenter();
expect(state).toBeTypeOf('object');
expect(state.dataCenter).toBeInstanceOf(DataCenter);
expect(state.dataCenterPromise).toBeInstanceOf(Promise);
state.dataCenterPromise.then(dc => expect(dc).toBe(state.dataCenter));
expect(dataCenter).toBeInstanceOf(DataCenter);
return <div>Test2</div>;
};
const Loader = ({ children }: React.PropsWithChildren) => {
const api = useGlobalStateApi();
if (!api.getState().dataCenter) {
api.setState({
dataCenter,
dataCenterPromise,
});
}
return <>{children}</>;
};
const App = () => (
<GlobalAppProvider>
<div>Test1</div>
<Loader>
<Inner />
</Loader>
<Inner />
</GlobalAppProvider>
);
const app = render(<App />);