@meticoeus/ddd-es 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,11 +23,13 @@ SOFTWARE.
23
23
  */
24
24
  import { describe, expect, test } from 'vitest';
25
25
  import { Test, } from './AggregateRoot.mocks.js';
26
- import { TestRepository } from './Repository.mocks.js';
26
+ import { TodoChecklist, } from './AggregateRoot.mocks2.js';
27
+ import { Counter } from './AggregateRoot.mocks3.js';
28
+ import { CounterRepository, TestRepository, TodoChecklistRepository } from './Repository.mocks.js';
27
29
  import { mockMetadata } from './types.fixtures.js';
28
30
  import { EventConflictException, EventExistenceRevision, createEvent } from './types.js';
29
31
  import { MockEventStore } from './types.mocks.js';
30
- describe('Repository', () => {
32
+ describe('Repository - Test', () => {
31
33
  const testCreated = createEvent({
32
34
  type: 'TestCreated',
33
35
  data: { id: '1', name: 'Test' },
@@ -38,12 +40,12 @@ describe('Repository', () => {
38
40
  data: { id: '1', name: 'A Test' },
39
41
  metadata: mockMetadata,
40
42
  });
41
- const testRenamedAgain = createEvent({
43
+ const testRenamedTwice = createEvent({
42
44
  type: 'TestRenamed',
43
45
  data: { id: '1', name: 'The Test' },
44
46
  metadata: mockMetadata,
45
47
  });
46
- const testRenamedMore = createEvent({
48
+ const testRenamedThrice = createEvent({
47
49
  type: 'TestRenamed',
48
50
  data: { id: '1', name: 'Some Test' },
49
51
  metadata: mockMetadata,
@@ -68,7 +70,7 @@ describe('Repository', () => {
68
70
  });
69
71
  test('should fail when events conflict', async () => {
70
72
  const store = new MockEventStore();
71
- const save = await store.saveEvents(streamName, [testCreated, testRenamed, testRenamedAgain], EventExistenceRevision.NoStream);
73
+ const save = await store.saveEvents(streamName, [testCreated, testRenamed, testRenamedTwice], EventExistenceRevision.NoStream);
72
74
  expect(save.error?.message).not.toBeDefined();
73
75
  expect(save.ok, 'Should not return an error').toBe(true);
74
76
  expect(save.value, 'Should not return an error').toEqual({ nextExpectedRevision: 2n });
@@ -86,9 +88,36 @@ describe('Repository', () => {
86
88
  return;
87
89
  expect(res.error).toEqual(new EventConflictException('Test', instance.id, 'TestRenamed', 'TestRenamed'));
88
90
  });
91
+ test('should detect conflicts from all intervening events, not just the stream head', async () => {
92
+ const store = new MockEventStore();
93
+ // 1. Save [TestCreated] → stream at rev 0
94
+ const created = await store.saveEvents(streamName, [testCreated], EventExistenceRevision.NoStream);
95
+ expect(created.ok).toBe(true);
96
+ // 2. Load aggregate (revision = 0n)
97
+ const testRepo = new TestRepository(store);
98
+ const instance = await testRepo.getById('1');
99
+ if (!instance)
100
+ throw new Error('Test 1 should exist');
101
+ expect(instance.revision).toBe(0n);
102
+ // 3. Add pending TestRenamed
103
+ const rename = await instance.rename('foo');
104
+ expect(rename.ok).toBe(true);
105
+ // 4. Concurrently save [testRenamedThrice, testRenamed, testRenamedTwice] → stream at rev 3
106
+ const concurrent = await store.saveEvents(streamName, [testRenamedThrice, testRenamed, testRenamedTwice], 0n);
107
+ expect(concurrent.ok).toBe(true);
108
+ // 5. save(aggregate, 0n)
109
+ // - optimization does NOT trigger (0n is not > 0n)
110
+ // - saveEvents fails: ConcurrencyException(nextExpectedRevision=3n)
111
+ // - retrySave loads from 0n, finds TestRenamed conflict at rev 2
112
+ const res = await testRepo.save(instance, 0n);
113
+ expect(res.ok, 'Should return a conflict error').toBe(false);
114
+ if (res.ok)
115
+ return;
116
+ expect(res.error).toEqual(new EventConflictException('Test', instance.id, 'TestRenamed', 'TestRenamed'));
117
+ });
89
118
  test(`should succeed when events don't conflict`, async () => {
90
119
  const store = new MockEventStore();
91
- const save = await store.saveEvents(streamName, [testCreated, testRenamed, testRenamedAgain], EventExistenceRevision.NoStream);
120
+ const save = await store.saveEvents(streamName, [testCreated, testRenamed, testRenamedTwice], EventExistenceRevision.NoStream);
92
121
  expect(save.error?.message).not.toBeDefined();
93
122
  expect(save.ok, 'Should not return an error').toBe(true);
94
123
  expect(save.value, 'Should not return an error').toEqual({ nextExpectedRevision: 2n });
@@ -105,4 +134,192 @@ describe('Repository', () => {
105
134
  expect(res.ok, 'Should return an error').toBe(true);
106
135
  });
107
136
  });
137
+ describe('Repository - TodoChecklist', () => {
138
+ const checklistStreamName = TodoChecklist.getStreamName('1');
139
+ const checklistCreated = createEvent({
140
+ type: 'TodoChecklistCreated',
141
+ data: { id: '1', name: 'My List' },
142
+ metadata: mockMetadata,
143
+ });
144
+ const itemAAdded = createEvent({
145
+ type: 'TodoItemAdded',
146
+ data: { id: '1', itemId: 'a', name: 'Item A' },
147
+ metadata: mockMetadata,
148
+ });
149
+ test('should not reject pending events that depend on earlier pending events', async () => {
150
+ const store = new MockEventStore();
151
+ // 1. Initial state: checklist with item 'a' → stream at rev 1
152
+ const setup = await store.saveEvents(checklistStreamName, [checklistCreated, itemAAdded], EventExistenceRevision.NoStream);
153
+ expect(setup.ok).toBe(true);
154
+ // 2. Load aggregate (revision = 1n)
155
+ const repo = new TodoChecklistRepository(store);
156
+ const checklist = await repo.getById('1');
157
+ if (!checklist)
158
+ throw new Error('Checklist should exist');
159
+ expect(checklist.revision).toBe(1n);
160
+ // 3. Add a new item 'b' and rename it
161
+ checklist.addItem('b', 'Item B');
162
+ checklist.renameItem('b', 'Updated Item B');
163
+ // 4. Concurrent: someone renames item 'a' → stream at rev 2
164
+ const concurrentRename = createEvent({
165
+ type: 'TodoItemRenamed',
166
+ data: { id: '1', itemId: 'a', name: 'Updated Item A' },
167
+ metadata: mockMetadata,
168
+ });
169
+ await store.saveEvents(checklistStreamName, [concurrentRename], 1n);
170
+ // 5. save(checklist, 1n)
171
+ // - persistEvents fails (stream is at rev 2, we expect 1)
172
+ // - retrySave: loadNewState builds newAggregate from committed events only
173
+ // - checkConflicts: hasConflict(TodoItemRenamed('b')) checks newAggregate
174
+ // which does NOT have pending TodoItemAdded('b') applied → item 'b' missing
175
+ // - BUG: returns EntityDNEException for item 'b' even though it's in the pending set
176
+ // - EXPECTED: save succeeds — renaming 'a' doesn't conflict with adding/renaming 'b'
177
+ const res = await repo.save(checklist, 1n);
178
+ expect(res.error?.message).not.toBeDefined();
179
+ expect(res.ok, 'Should succeed — no real conflict').toBe(true);
180
+ });
181
+ });
182
+ describe('Repository - Counter (double-apply detection)', () => {
183
+ const streamName = Counter.getStreamName('1');
184
+ const counterCreated = createEvent({
185
+ type: 'CounterCreated',
186
+ data: { id: '1', name: 'Initial', description: 'Desc' },
187
+ metadata: mockMetadata,
188
+ });
189
+ const nameChanged1 = createEvent({
190
+ type: 'CounterNameChanged',
191
+ data: { id: '1', name: 'Name v1' },
192
+ metadata: mockMetadata,
193
+ });
194
+ const nameChanged2 = createEvent({
195
+ type: 'CounterNameChanged',
196
+ data: { id: '1', name: 'Name v2' },
197
+ metadata: mockMetadata,
198
+ });
199
+ const nameChanged3 = createEvent({
200
+ type: 'CounterNameChanged',
201
+ data: { id: '1', name: 'Name v3' },
202
+ metadata: mockMetadata,
203
+ });
204
+ test('loadNewState should not double-apply events at clientRevision', async () => {
205
+ const store = new MockEventStore();
206
+ // 1. Save [CounterCreated, NameChanged1, NameChanged2] → stream at rev 2
207
+ const setup = await store.saveEvents(streamName, [counterCreated, nameChanged1, nameChanged2], EventExistenceRevision.NoStream);
208
+ expect(setup.ok).toBe(true);
209
+ // 2. Load aggregate (revision = 2n, nameApplyCount = 3)
210
+ const repo = new CounterRepository(store);
211
+ const counter = await repo.getById('1');
212
+ if (!counter)
213
+ throw new Error('Counter should exist');
214
+ expect(counter.revision).toBe(2n);
215
+ expect(counter.nameApplyCount).toBe(3);
216
+ // 3. Concurrently save NameChanged3 → stream at rev 3
217
+ await store.saveEvents(streamName, [nameChanged3], 2n);
218
+ // 4. loadNewState(counter, 2n) should build newAggregate from:
219
+ // - aggregate.history (events 0-2): nameApplyCount = 3
220
+ // - intervening events from rev 2 forward: should only include rev 3
221
+ // Expected nameApplyCount = 4 (3 from history + 1 from rev 3)
222
+ // Bug (if inclusive): nameApplyCount = 5 (event at rev 2 double-applied)
223
+ const { newAggregate, newEvents } = await repo.testLoadNewState(counter, 2n);
224
+ expect(newEvents).toHaveLength(1);
225
+ expect(newAggregate.nameApplyCount).toBe(4);
226
+ expect(newAggregate.name).toBe('Name v3');
227
+ });
228
+ test('loadNewState should load all intervening events from clientRevision', async () => {
229
+ const store = new MockEventStore();
230
+ // 1. Save [CounterCreated, NameChanged1] → stream at rev 1
231
+ const setup = await store.saveEvents(streamName, [counterCreated, nameChanged1], EventExistenceRevision.NoStream);
232
+ expect(setup.ok).toBe(true);
233
+ // 2. Load aggregate (revision = 1n, nameApplyCount = 2)
234
+ const repo = new CounterRepository(store);
235
+ const counter = await repo.getById('1');
236
+ if (!counter)
237
+ throw new Error('Counter should exist');
238
+ expect(counter.revision).toBe(1n);
239
+ expect(counter.nameApplyCount).toBe(2);
240
+ // 3. Concurrently save [NameChanged2, NameChanged3] → stream at rev 3
241
+ await store.saveEvents(streamName, [nameChanged2, nameChanged3], 1n);
242
+ // 4. loadNewState(counter, 1n) should load events at rev 2 and 3
243
+ // Expected nameApplyCount = 4 (2 from history + 2 intervening)
244
+ const { newAggregate, newEvents } = await repo.testLoadNewState(counter, 1n);
245
+ expect(newEvents).toHaveLength(2);
246
+ expect(newAggregate.nameApplyCount).toBe(4);
247
+ expect(newAggregate.name).toBe('Name v3');
248
+ });
249
+ });
250
+ describe('Repository - revision tracking after save', () => {
251
+ test('revision should match store after initial save (create → save)', async () => {
252
+ const store = new MockEventStore();
253
+ const repo = new CounterRepository(store);
254
+ // Create produces 1 event (CounterCreated) → stored at revision 0
255
+ const res = await Counter.create('1', 'Test', 'Desc');
256
+ expect(res.ok).toBe(true);
257
+ if (!res.ok)
258
+ return;
259
+ const counter = res.value;
260
+ const save = await repo.save(counter, EventExistenceRevision.NoStream);
261
+ expect(save.ok).toBe(true);
262
+ if (!save.ok)
263
+ return;
264
+ // Store head is at revision 0 → aggregate.revision should be 0n
265
+ expect(save.value.nextExpectedRevision).toBe(0n);
266
+ expect(counter.revision).toBe(0n);
267
+ });
268
+ test('revision should match store after saving a loaded aggregate', async () => {
269
+ const store = new MockEventStore();
270
+ const streamName = Counter.getStreamName('1');
271
+ const repo = new CounterRepository(store);
272
+ // Seed: [CounterCreated] → rev 0
273
+ await store.saveEvents(streamName, [
274
+ createEvent({
275
+ type: 'CounterCreated',
276
+ data: { id: '1', name: 'Initial', description: 'Desc' },
277
+ metadata: mockMetadata,
278
+ }),
279
+ ], EventExistenceRevision.NoStream);
280
+ // Load aggregate at revision 0
281
+ const counter = await repo.getById('1');
282
+ if (!counter)
283
+ throw new Error('Counter should exist');
284
+ expect(counter.revision).toBe(0n);
285
+ // Change name → 1 pending event
286
+ counter.changeName('Updated');
287
+ // Save → event stored at revision 1
288
+ const save = await repo.save(counter, counter.revision);
289
+ expect(save.ok).toBe(true);
290
+ if (!save.ok)
291
+ return;
292
+ expect(save.value.nextExpectedRevision).toBe(1n);
293
+ expect(counter.revision).toBe(1n);
294
+ });
295
+ test('revision should match store across two saves on the same object', async () => {
296
+ const store = new MockEventStore();
297
+ const repo = new CounterRepository(store);
298
+ // 1. Create → save
299
+ const res = await Counter.create('1', 'Test', 'Desc');
300
+ expect(res.ok).toBe(true);
301
+ if (!res.ok)
302
+ return;
303
+ const counter = res.value;
304
+ const save1 = await repo.save(counter, EventExistenceRevision.NoStream);
305
+ expect(save1.ok).toBe(true);
306
+ if (!save1.ok)
307
+ return;
308
+ // After first save: store at rev 0 → revision should be 0n
309
+ expect(save1.value.nextExpectedRevision).toBe(0n);
310
+ expect(counter.revision).toBe(0n);
311
+ if (typeof counter.revision !== 'bigint')
312
+ throw new Error('Revision should be a bigint');
313
+ // 2. Command → save again using aggregate's revision
314
+ counter.changeName('Updated');
315
+ const save2 = await repo.save(counter, counter.revision);
316
+ expect(save2.error?.message).not.toBeDefined();
317
+ expect(save2.ok, 'Second save should succeed').toBe(true);
318
+ if (!save2.ok)
319
+ return;
320
+ // After second save: store at rev 1 → revision should be 1n
321
+ expect(save2.value.nextExpectedRevision).toBe(1n);
322
+ expect(counter.revision).toBe(1n);
323
+ });
324
+ });
108
325
  //# sourceMappingURL=Repository.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.test.js","sourceRoot":"","sources":["../../src/Repository.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.test.js","sourceRoot":"","sources":["../../src/Repository.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meticoeus/ddd-es",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "A Typescript library for using Event Sourcing and Domain Driven Design.",
5
5
  "keywords": [
6
6
  "DDD",