Example #1
0
        public async Task ShouldMapOlderEventFormatsToNewEventTypesAsync()
        {
            var eventWithVersion1 = new VersionedEvent1 {
                Property1 = "property1"
            };
            var eventWithVersion2 = new VersionedEvent2 {
                Property1 = "property1", Property2 = "property2"
            };
            var eventWithVersion3 = new VersionedEvent {
                Property3 = "test"
            };

            var eventStore  = new MemoryEventStore();
            var savedEvent1 = await eventStore.Save(eventWithVersion1);

            var savedEvent2 = await eventStore.Save(eventWithVersion2);

            var savedEvent3 = await eventStore.Save(eventWithVersion3);

            var ids = new List <Guid> {
                savedEvent1.Id, savedEvent2.Id, savedEvent3.Id
            };
            var events = await eventStore.Get(ids);

            var eventTypeCount = events
                                 .Select(e => e.GetType())
                                 .Where(e => e.Name == "VersionedEvent")
                                 .Count();

            Assert.AreEqual(3, eventTypeCount);
        }
Example #2
0
            public async Task ShouldGetByIdAsync()
            {
                var eventStore     = new MemoryEventStore();
                var eventToBeSaved = new TestEvent {
                    Property1 = "test"
                };

                var storedEvent = await eventStore.Save(eventToBeSaved);

                var retreivedEvent = await eventStore.Get <TestEvent>(storedEvent.Id);

                Assert.AreEqual(JsonConvert.SerializeObject(storedEvent), JsonConvert.SerializeObject(retreivedEvent));
            }
Example #3
0
            public async Task ShouldGetByIdsAsync()
            {
                var eventStore      = new MemoryEventStore();
                var eventToBeSaved1 = new TestEvent {
                    Property1 = "test"
                };
                var eventToBeSaved2 = new TestEvent2 {
                    Property1 = "property1", Property2 = "property2"
                };

                var storedEvent1 = await eventStore.Save(eventToBeSaved1);

                var storedEvent2 = await eventStore.Save(eventToBeSaved2);

                var expectedEvents = new List <Event> {
                    storedEvent1, storedEvent2
                };
                var retreivedEvents = await eventStore.Get(new List <Guid> {
                    storedEvent1.Id, storedEvent2.Id
                });

                Assert.AreEqual(JsonConvert.SerializeObject(expectedEvents), JsonConvert.SerializeObject(retreivedEvents));
            }