Migrate LiveSync flows to provider-owned resources

This commit is contained in:
vorotamoroz
2026-08-28 17:54:04 +00:00
parent f7206b1a6e
commit db70b4c2b6
34 changed files with 1830 additions and 365 deletions
@@ -0,0 +1,28 @@
import { describe, expect, it, vi } from "vitest";
import { withOwnedRemoteResource } from "./ownedRemoteResource";
describe("flow-owned remote resources", () => {
it("disposes a resource after a successful finite operation", async () => {
const dispose = vi.fn(async () => undefined);
const resource = { dispose };
await expect(
withOwnedRemoteResource(resource, async (owned) => (owned === resource ? "done" : "wrong"))
).resolves.toBe("done");
expect(dispose).toHaveBeenCalledOnce();
});
it("disposes a resource when the finite operation rejects", async () => {
const dispose = vi.fn(async () => undefined);
const error = new Error("resource operation failed");
await expect(
withOwnedRemoteResource({ dispose }, async () => {
throw error;
})
).rejects.toBe(error);
expect(dispose).toHaveBeenCalledOnce();
});
});