public async Task LoadDomainEvents_IdAndStuffIsSetCorreclty(PersistenceLayerProvider layerProvider) { BsonMapRegistrationHelpers.AddBsonMapFor <TestEvent1>(); BsonMapRegistrationHelpers.AddBsonMapFor <TestEvent2>(); var eventRepository = layerProvider.EventRepository; var newGuid = Guid.NewGuid(); var testEvent1 = new TestEvent1(newGuid); var testEvent2 = new TestEvent2(newGuid); var events = new List <IDomainEvent> { testEvent1, testEvent2 }; var res = await eventRepository.AppendAsync(events, 0); res.Check(); var loadEventsByEntity = await eventRepository.LoadEventsByEntity(newGuid.ToString()); Assert.AreEqual(2, loadEventsByEntity.Value.Count()); Assert.AreEqual(1, loadEventsByEntity.Value.ToList()[0].OverallVersion); Assert.AreEqual(2, loadEventsByEntity.Value.ToList()[1].OverallVersion); Assert.AreEqual(1, loadEventsByEntity.Value.ToList()[0].EntityStreamVersion); Assert.AreEqual(2, loadEventsByEntity.Value.ToList()[1].EntityStreamVersion); Assert.IsTrue(newGuid.ToString() == loadEventsByEntity.Value.ToList()[0].DomainEvent.EntityId); }
public async Task AddEvents_IdSet(PersistenceLayerProvider layerProvider) { BsonMapRegistrationHelpers.AddBsonMapFor <TestEvent1>(); var eventRepository = layerProvider.EventRepository; var testEvent1 = new TestEvent1(Guid.NewGuid()); await eventRepository.AppendAsync(new[] { testEvent1 }, 0); var result = await eventRepository.LoadEventsByEntity(testEvent1.EntityId); var domainEvent = result.Value.Single().DomainEvent; Assert.IsTrue(domainEvent.EntityId.Equals(testEvent1.EntityId)); }
public async Task AddAndLoadEventsByTimeStamp_SavedAsType(PersistenceLayerProvider layerProvider) { BsonMapRegistrationHelpers.AddBsonMapFor <TestEvent1>(); var eventRepository = layerProvider.EventRepository; var newGuid = Guid.NewGuid(); var domainEvent = new TestEvent1(newGuid); await eventRepository.AppendAsync(new List <IDomainEvent> { domainEvent }, 0); var result = await eventRepository.LoadEventsByTypeAsync(typeof(TestEvent1).Name); Assert.AreEqual(1, result.Value.Count()); Assert.AreEqual(1, result.Value.ToList()[0].EntityStreamVersion); Assert.AreEqual(newGuid.ToString(), result.Value.ToList()[0].DomainEvent.EntityId); Assert.AreEqual(typeof(TestEvent1), result.Value.ToList()[0].DomainEvent.GetType()); }