示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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());
        }