@@ -300,79 +300,79 @@ void describe('mongoDB event store started consumer', () => {
300300 } ,
301301 ) ;
302302
303- // void it(
304- // 'handles only new events when CURRENT position is stored for restarted consumer',
305- // withDeadline,
306- // async () => {
307- // // Given
308- // const shoppingCartId = `shoppingCart:${uuid()}`;
309- // const streamName = `shopping_cart-${shoppingCartId}`;
303+ void it (
304+ 'handles only new events when CURRENT position is stored for restarted consumer' ,
305+ withDeadline ,
306+ async ( ) => {
307+ // Given
308+ const shoppingCartId = `shoppingCart:${ uuid ( ) } ` ;
309+ const streamName = `shopping_cart-${ shoppingCartId } ` ;
310310
311- // const initialEvents: ShoppingCartSummaryEvent[] = [
312- // { type: 'ProductItemAdded', data: { productItem } },
313- // { type: 'ProductItemAdded', data: { productItem } },
314- // ];
315- // const { nextExpectedStreamVersion } = await eventStore.appendToStream(
316- // streamName,
317- // initialEvents,
318- // );
311+ const initialEvents : ShoppingCartSummaryEvent [ ] = [
312+ { type : 'ProductItemAdded' , data : { productItem } } ,
313+ { type : 'ProductItemAdded' , data : { productItem } } ,
314+ ] ;
315+ const { nextExpectedStreamVersion } = await eventStore . appendToStream (
316+ streamName ,
317+ initialEvents ,
318+ ) ;
319319
320- // const events: ShoppingCartSummaryEvent[] = [
321- // { type: 'ProductItemAdded', data: { productItem } },
322- // {
323- // type: 'ShoppingCartConfirmed',
324- // data: { confirmedAt },
325- // },
326- // ];
320+ const events : ShoppingCartSummaryEvent [ ] = [
321+ { type : 'ProductItemAdded' , data : { productItem } } ,
322+ {
323+ type : 'ShoppingCartConfirmed' ,
324+ data : { confirmedAt } ,
325+ } ,
326+ ] ;
327327
328- // let stopAfterPosition: bigint | undefined = nextExpectedStreamVersion;
328+ let stopAfterPosition : bigint | undefined = nextExpectedStreamVersion ;
329329
330- // const inMemoryProcessor = inMemoryProjector<ShoppingCartSummaryEvent>({
331- // processorId: uuid(),
332- // projection: shoppingCartsSummaryProjection,
333- // connectionOptions: { database },
334- // startFrom: 'CURRENT',
335- // stopAfter: (event) =>
336- // event.metadata.streamName === streamName &&
337- // event.metadata.streamPosition === stopAfterPosition,
338- // });
330+ const inMemoryProcessor = inMemoryProjector < ShoppingCartSummaryEvent > ( {
331+ processorId : uuid ( ) ,
332+ projection : shoppingCartsSummaryProjection ,
333+ connectionOptions : { database } ,
334+ startFrom : 'CURRENT' ,
335+ stopAfter : ( event ) =>
336+ event . metadata . streamName === streamName &&
337+ event . metadata . streamPosition === stopAfterPosition ,
338+ } ) ;
339339
340- // const consumer = mongoDBEventStoreConsumer<ShoppingCartSummaryEvent>({
341- // connectionString,
342- // clientOptions: { directConnection: true },
343- // processors: [inMemoryProcessor],
344- // });
340+ const consumer = mongoDBEventStoreConsumer < ShoppingCartSummaryEvent > ( {
341+ connectionString,
342+ clientOptions : { directConnection : true } ,
343+ processors : [ inMemoryProcessor ] ,
344+ } ) ;
345345
346- // // When
347- // await consumer.start();
348- // await consumer.stop();
346+ // When
347+ await consumer . start ( ) ;
348+ await consumer . stop ( ) ;
349349
350- // stopAfterPosition = undefined;
350+ stopAfterPosition = undefined ;
351351
352- // try {
353- // const consumerPromise = consumer.start();
352+ try {
353+ const consumerPromise = consumer . start ( ) ;
354354
355- // const appendResult = await eventStore.appendToStream(
356- // streamName,
357- // events,
358- // );
359- // stopAfterPosition = appendResult.nextExpectedStreamVersion;
355+ const appendResult = await eventStore . appendToStream (
356+ streamName ,
357+ events ,
358+ ) ;
359+ stopAfterPosition = appendResult . nextExpectedStreamVersion ;
360360
361- // await consumerPromise;
361+ await consumerPromise ;
362362
363- // const summary = await summaries.findOne((d) => d._id === streamName);
363+ const summary = await summaries . findOne ( ( d ) => d . _id === streamName ) ;
364364
365- // assertMatches(summary, {
366- // _id: streamName,
367- // status: 'confirmed',
368- // //_version: 4n,
369- // productItemsCount: productItem.quantity * 3,
370- // });
371- // } finally {
372- // await consumer.close();
373- // }
374- // },
375- // );
365+ assertMatches ( summary , {
366+ _id : streamName ,
367+ status : 'confirmed' ,
368+ //_version: 4n,
369+ productItemsCount : productItem . quantity * 3 ,
370+ } ) ;
371+ } finally {
372+ await consumer . close ( ) ;
373+ }
374+ } ,
375+ ) ;
376376
377377 // void it(
378378 // 'handles only new events when CURRENT position is stored for a new consumer',
0 commit comments