Persist project device synchronization

This commit is contained in:
2026-07-24 11:47:03 +02:00
parent e930cb75b8
commit 3977a6e6e1
20 changed files with 300 additions and 747 deletions
+27
View File
@@ -3,7 +3,9 @@ import { describe, it } from "node:test";
import {
createProjectDeviceCommandSchema,
createProjectDeviceSchema,
disconnectProjectDeviceRowsSchema,
projectDeviceStructureCommandSchema,
synchronizeProjectDeviceRowsSchema,
updateProjectDeviceCommandSchema,
} from "../src/shared/validation/project-device.schemas.js";
@@ -87,4 +89,29 @@ describe("project device circuit-first schema", () => {
false
);
});
it("requires the current revision for synchronization writes", () => {
assert.equal(
synchronizeProjectDeviceRowsSchema.safeParse({
rowIds: ["row-1"],
fields: ["quantity"],
}).success,
false
);
assert.equal(
synchronizeProjectDeviceRowsSchema.safeParse({
rowIds: ["row-1"],
fields: ["quantity"],
expectedRevision: 7,
}).success,
true
);
assert.equal(
disconnectProjectDeviceRowsSchema.safeParse({
rowIds: ["row-1"],
expectedRevision: 7,
}).success,
true
);
});
});