(event: WorkOsMirroredEvent)
| 245 | * instance-wide; each apply moves it to a fresh id, which is what a run does. |
| 246 | */ |
| 247 | const applyEvent = (event: WorkOsMirroredEvent) => |
| 248 | Effect.gen(function* () { |
| 249 | const mirror = yield* WorkOsMirror; |
| 250 | const write = yield* planEvent(event); |
| 251 | const prev = yield* mirror.getCursor(); |
| 252 | const outcomes = yield* mirror.applyPage(prev, freshId("event"), [write]); |
| 253 | expect(Option.isSome(outcomes), "no other run contends in a single-event apply").toBe(true); |
| 254 | const outcome: WorkOsEventOutcome | undefined = Option.getOrElse(outcomes, () => [])[0]; |
| 255 | expect(outcome, "one write, one outcome").toBeDefined(); |
| 256 | return outcome ?? "absent"; |
| 257 | }); |
| 258 | |
| 259 | describe("applyEvent", () => { |
| 260 | it("mirrors a user, refreshes it, refuses an older update, and deletes it", async () => { |
no test coverage detected