import { defState, stop, startOnly, startWithout } from "."; const startOnlyState = defState("startOnlyState", { start: async () => ({ value: 42, }), }); const startedState = defState("startState", { start: async () => ({ value: 42, }), }); const neverStartedState = defState("neverStartedState", { start: async () => ({ value: 42, }), }); describe("starting", () => { afterEach(async () => stop()); test("startOnly", async () => { await startOnly(["startOnlyState"]); expect(startOnlyState.value).toBe(42); expect(startedState.value).toBe(undefined); expect(neverStartedState.value).toBe(undefined); }); test("startWithout", async () => { await startWithout(["neverStartedState"]); expect(startOnlyState.value).toBe(42); expect(startedState.value).toBe(42); expect(neverStartedState.value).toBe(undefined); }); });