public void CommittedEvent_MappedToDomainEvent_IsValid() { var domainEventReadAdapter = new DomainEventReadAdapter(); var aggregateSequenceNumber = 5; var aggregateId = TestAggregateId.New; var aggregateEvent = new TestCreatedEvent(aggregateId); var now = DateTimeOffset.UtcNow; var eventId = EventId.NewDeterministic(GuidFactories.Deterministic.Namespaces.Events, $"{aggregateId.Value}-v{3}"); var eventMetadata = new EventMetadata { Timestamp = now, AggregateSequenceNumber = aggregateSequenceNumber, AggregateName = typeof(TestAggregate).GetAggregateName().Value, AggregateId = aggregateId.Value, EventId = eventId }; var committedEvent = new CommittedEvent <TestAggregateId, TestCreatedEvent>( aggregateId, aggregateEvent, eventMetadata, now, aggregateSequenceNumber); var eventSequence = domainEventReadAdapter.FromJournal(committedEvent, String.Empty); var upcastedEvent = eventSequence.Events.Single(); if (upcastedEvent is IDomainEvent <TestAggregateId, TestCreatedEvent> e) { e.AggregateEvent.GetType().Should().Be <TestCreatedEvent>(); } else { false.Should().BeTrue(); } }
public void NonCommittedEvent_WhenRead_IsReturnedUnchanged() { var message = new CreateTestCommand(TestAggregateId.New, CommandId.New); var domainEventReadAdapter = new DomainEventReadAdapter(); var unchanged = domainEventReadAdapter.FromJournal(message, String.Empty); unchanged.Events.Single().As <CreateTestCommand>().Metadata.SourceId.Should().Be(message.Metadata.SourceId); unchanged.Events.Single().As <CreateTestCommand>().AggregateId.Should().Be(message.AggregateId); }