Пример #1
0
        private void InsertAndRead(IEvent @event)
        {
            _eventToPublishRepository.Add(@event);
            _eventToPublishRepository.UnitOfWork.Commit();
            var eventToPublish = _eventToPublishRepository.Read(@event.Id);

            _retrievedEvent = _eventToPublishSerializer.Deserialize(eventToPublish);
        }
Пример #2
0
        public void Event_to_publish_gets_deserialized_using_id_from_serialized_event()
        {
            var otherId = Guid.NewGuid();
            var json    = $"{{\"Id\":\"{otherId}\",\"AggregateId\":\"{_aggregateId.ToString()}\",\"CommandId\":\"{_commandId.ToString()}\",\"StringProperty\":\"{StringPropertyValue}\"}}";

            var eventToPublish = new EventToPublish
            {
                Id        = _id,
                Data      = json,
                EventType = typeof(TestEvent).FullName,
                Created   = new DateTime(2018, 1, 1)
            };

            var @event = _eventToPublishSerializer.Deserialize(eventToPublish);

            Assert.That(@event.Id, Is.EqualTo(_id));
            Assert.That(@event.AggregateId, Is.EqualTo(_aggregateId));
            Assert.That(@event.CommandId, Is.EqualTo(_commandId));
            Assert.That(@event.GetType(), Is.EqualTo(typeof(TestEvent)));
            Assert.That(((TestEvent)@event).StringProperty, Is.EqualTo(StringPropertyValue));
        }