import Executor from "./executor"; import Message from "./message"; import SumVertex from "../test/sumVertex"; describe("executor", () => { it("can shepard a vertex through full lifecycle", async (done) => { const executor = new Executor({}); executor.register(SumVertex); const message = new Message({ from: "sum|1", to: "sum|2", timestamp: Date.now(), type: "value", body: 42, }); executor.send([message]); const vertex = (await executor.get("sum|2")) as SumVertex; setTimeout(async () => { expect(vertex.state.sum).toBe(42); expect(vertex.expired()).toBeTruthy(); expect(vertex.wasDeactivated).toBeTruthy(); expect(Object.keys(executor.vertices).length).toBe(0); expect(Object.keys(executor.uncommittedVertices).length).toBe(0); return done(); }, 1100); }); });