private async Task StoreFooRegistered(string fooId) { var fooRegistered1 = new FooRegistered(fooId, "testing foo"); var aggregateRecordFoo1 = new AggregateRecord(fooId, "Foo", 0); var eventRecordsFoo1 = new List <EventRecord <DomainEvent> > { new EventRecord <DomainEvent>(fooRegistered1.Id, fooRegistered1.CreatedAt, fooRegistered1) }; await _eventStoreRepository.SaveAsync(aggregateRecordFoo1, eventRecordsFoo1).ConfigureAwait(false); }
public async Task InsertAsync_GetAsync_MultipleAggregateTypes() { // Given const string booId = "001"; var booCreated = new BooCreated(booId, 100M, false); const string fooId = "100"; var fooRegistered = new FooRegistered(fooId, "testing foo"); // When var aggregateRecordBoo = new AggregateRecord(booId, "Boo", 0); var eventRecordsBoo = new List <EventRecord <DomainEvent> > { new EventRecord <DomainEvent>(booCreated.Id, booCreated.CreatedAt, booCreated) }; await _eventStoreRepository.SaveAsync(aggregateRecordBoo, eventRecordsBoo).ConfigureAwait(false); var aggregateRecordFoo = new AggregateRecord(fooId, "Foo", 0); var eventRecordsFoo = new List <EventRecord <DomainEvent> > { new EventRecord <DomainEvent>(fooRegistered.Id, fooRegistered.CreatedAt, fooRegistered) }; await _eventStoreRepository.SaveAsync(aggregateRecordFoo, eventRecordsFoo).ConfigureAwait(false); // Then var resultsBoo = await _eventStoreRepository.GetAsync <DomainEvent>(booId).ConfigureAwait(false); Assert.Equal(1, resultsBoo.Count); Assert.Equal(booCreated.GetType(), resultsBoo.Single(x => x.AggregateId == booId).Event.GetType()); var resultsFoo = await _eventStoreRepository.GetAsync <DomainEvent>(fooId).ConfigureAwait(false); Assert.Equal(1, resultsFoo.Count); Assert.Equal(fooRegistered.GetType(), resultsFoo.Single(x => x.AggregateId == fooId).Event.GetType()); }