mirror of
https://github.com/wassname/talk.git
synced 2026-08-01 13:00:55 +08:00
Add UserBox
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import { Environment, RecordSource } from "relay-runtime";
|
||||
|
||||
import { createRelayEnvironment } from "talk-framework/testHelpers";
|
||||
|
||||
import { AUTH_POPUP_ID, AUTH_POPUP_TYPE } from "../local";
|
||||
import { commit } from "./SetAuthPopupStateMutation";
|
||||
|
||||
let environment: Environment;
|
||||
const source: RecordSource = new RecordSource();
|
||||
|
||||
beforeAll(() => {
|
||||
environment = createRelayEnvironment({
|
||||
source,
|
||||
initLocalState: (localRecord, sourceProxy) => {
|
||||
const record = sourceProxy.create(AUTH_POPUP_ID, AUTH_POPUP_TYPE);
|
||||
record.setValue(false, "open");
|
||||
record.setValue(false, "focus");
|
||||
localRecord.setLinkedRecord(record, "authPopup");
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it("sets state", () => {
|
||||
commit(environment, { open: true, focus: false });
|
||||
expect(source.get(AUTH_POPUP_ID)!.open).toEqual(true);
|
||||
expect(source.get(AUTH_POPUP_ID)!.focus).toEqual(false);
|
||||
});
|
||||
|
||||
it("sets state", () => {
|
||||
commit(environment, {
|
||||
open: false,
|
||||
focus: true,
|
||||
href: "https://coralproject.net",
|
||||
});
|
||||
expect(source.get(AUTH_POPUP_ID)!.open).toEqual(false);
|
||||
expect(source.get(AUTH_POPUP_ID)!.focus).toEqual(true);
|
||||
expect(source.get(AUTH_POPUP_ID)!.href).toEqual("https://coralproject.net");
|
||||
});
|
||||
|
||||
it("keep previous state", () => {
|
||||
commit(environment, { open: false, focus: true });
|
||||
commit(environment, {});
|
||||
expect(source.get(AUTH_POPUP_ID)!.open).toEqual(false);
|
||||
expect(source.get(AUTH_POPUP_ID)!.focus).toEqual(true);
|
||||
});
|
||||
|
||||
it("change only one", () => {
|
||||
commit(environment, { open: false, focus: true });
|
||||
commit(environment, { open: true });
|
||||
expect(source.get(AUTH_POPUP_ID)!.open).toEqual(true);
|
||||
expect(source.get(AUTH_POPUP_ID)!.focus).toEqual(true);
|
||||
});
|
||||
Reference in New Issue
Block a user