mirror of
https://github.com/wassname/talk.git
synced 2026-07-06 05:17:19 +08:00
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
import React from "react";
|
|
import TestRenderer, { ReactTestRenderer } from "react-test-renderer";
|
|
import { RecordProxy } from "relay-runtime";
|
|
|
|
import { timeout } from "talk-common/utils";
|
|
import { TalkContext, TalkContextProvider } from "talk-framework/lib/bootstrap";
|
|
import { PostMessageService } from "talk-framework/lib/postMessage";
|
|
import { RestClient } from "talk-framework/lib/rest";
|
|
import { createInMemoryStorage } from "talk-framework/lib/storage";
|
|
import { createSinonStub } from "talk-framework/testHelpers";
|
|
import AppContainer from "talk-stream/containers/AppContainer";
|
|
|
|
import createEnvironment from "./createEnvironment";
|
|
import createFluentBundle from "./createFluentBundle";
|
|
import createNodeMock from "./createNodeMock";
|
|
import { assets } from "./fixtures";
|
|
|
|
let testRenderer: ReactTestRenderer;
|
|
beforeEach(() => {
|
|
const resolvers = {
|
|
Query: {
|
|
asset: createSinonStub(
|
|
s => s.throws(),
|
|
s => s.withArgs(undefined, { id: assets[0].id }).returns(assets[0])
|
|
),
|
|
},
|
|
};
|
|
|
|
const environment = createEnvironment({
|
|
// Set this to true, to see graphql responses.
|
|
logNetwork: false,
|
|
resolvers,
|
|
initLocalState: (localRecord: RecordProxy) => {
|
|
localRecord.setValue(assets[0].id, "assetID");
|
|
localRecord.setValue(0, "authRevision");
|
|
},
|
|
});
|
|
|
|
const context: TalkContext = {
|
|
relayEnvironment: environment,
|
|
localeBundles: [createFluentBundle()],
|
|
localStorage: createInMemoryStorage(),
|
|
sessionStorage: createInMemoryStorage(),
|
|
rest: new RestClient("http://localhost/api"),
|
|
postMessage: new PostMessageService(),
|
|
};
|
|
|
|
testRenderer = TestRenderer.create(
|
|
<TalkContextProvider value={context}>
|
|
<AppContainer />
|
|
</TalkContextProvider>,
|
|
{ createNodeMock }
|
|
);
|
|
});
|
|
|
|
it("renders comment stream", async () => {
|
|
// Wait for loading.
|
|
await timeout();
|
|
expect(testRenderer.toJSON()).toMatchSnapshot();
|
|
});
|