feat(core): deterministic session log replay with synced watermark (#35040)
This commit is contained in:
parent
1aae92c42a
commit
57e9e9771d
16 changed files with 205 additions and 87 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import { describe, expect, test } from "bun:test"
|
||||
import { Schema } from "effect"
|
||||
import { Event } from "../src/event.js"
|
||||
import { EventLog } from "../src/event-log.js"
|
||||
|
||||
describe("public event schemas", () => {
|
||||
test("definition is pure", () => {
|
||||
|
|
@ -34,4 +35,18 @@ describe("public event schemas", () => {
|
|||
|
||||
expect(Event.durable([definition]).get("test.durable.1")).toBe(definition)
|
||||
})
|
||||
|
||||
test("synced marker encodes the captured watermark", () => {
|
||||
expect(
|
||||
Schema.encodeSync(EventLog.Synced)({
|
||||
type: "log.synced",
|
||||
aggregateID: "ses_test",
|
||||
seq: Event.Seq.make(1),
|
||||
}),
|
||||
).toEqual({ type: "log.synced", aggregateID: "ses_test", seq: 1 })
|
||||
expect(Schema.encodeSync(EventLog.Synced)({ type: "log.synced", aggregateID: "ses_test" })).toEqual({
|
||||
type: "log.synced",
|
||||
aggregateID: "ses_test",
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue