예제 #1
0
        public void Event_Retrieval_Shoul_Work_Properly()
        {
            var aggregateId = Guid.NewGuid();

            var firstEvent = new PlainEvent(aggregateId, "Hello Memento", DateTime.Now, double.MaxValue);

            EventStore.Save(firstEvent);

            var secondEvent = new PlainEvent(aggregateId, "Hello Mastreeno", DateTime.Now.AddDays(2), 0.0D);

            EventStore.Save(secondEvent);

            var eventDescriptors = new List <EventMapping>()
            {
                new EventMapping
                {
                    AggregateIdPropertyName = nameof(PlainEvent.AggregateId),
                    EventType = typeof(PlainEvent)
                }
            };

            var events = EventStore.RetrieveEvents(aggregateId, DateTime.Now, eventDescriptors, timelineId: null);

            Assert.AreEqual(events.Count(), 1);
            //Assert.AreEqual(events.First().GetType(), typeof(PlainEvent));
        }
        public void SqlServerEventStore_Save_PlainEvent_Should_Work()
        {
            var eventStore = new SqlServerEventStore(this.Settings, this.EventDispatcher);

            var guid = Guid.NewGuid();

            var plainEvent = new PlainEvent(guid, PlainEvent.TestEnum.Nope);

            var exception = Record.Exception(() => eventStore.Save(plainEvent));

            Assert.Null(exception);
        }
예제 #3
0
        public void Save_Should_Allow_Retrieval()
        {
            var @event = new PlainEvent(Guid.NewGuid(), "Hello Memento", DateTime.Now, double.MaxValue);

            EventStore.Save(@event);

            var events = EventStore.Find <PlainEvent>(pe => pe.AggregateId == @event.AggregateId);

            Assert.AreEqual(events.Count(), 1);
            Assert.AreEqual(events.First().AggregateId, @event.AggregateId);
            Assert.AreEqual(events.First().Title, @event.Title);
            Assert.AreEqual(events.First().DataDiProva.ToString("u"), @event.DataDiProva.ToString("u"));
            Assert.AreEqual(events.First().Number, @event.Number);
        }
        public void SqlServerEventStore_Find_PlainEvent_Should_Retrieve_Previously_Saved_Event()
        {
            var myAggId = Guid.NewGuid();

            var plainEvent = new PlainEvent(myAggId, null);

            var eventStore = new SqlServerEventStore(this.Settings, this.EventDispatcher);

            eventStore.Save(plainEvent);

            var events = eventStore.Find <PlainEvent>(e => e.MyAggId == myAggId).ToArray();

            Assert.NotNull(events);
            Assert.Single(events);

            var @event = events[0];

            Assert.Equal(myAggId, @event.MyAggId);
            Assert.Equal(plainEvent.Id, @event.Id);
            Assert.Equal(plainEvent.TimeStamp.ToLongDateString(), @event.TimeStamp.ToLongDateString());
            Assert.Null(@event.TimelineId);
        }