public async Task SaveAsync_EventHasJsonSerializableProperties_HandlesCorrectly() { var aggregateRootId = Unified.NewCode(); var serializableStateEvent = new SerializableEvent { AggregateRootId = aggregateRootId, SerializableObject = new JsonSerializableObject(FixtureUtils.String()) }; var aggregateRootMock = new Mock <IAggregateRoot>(MockBehavior.Strict); aggregateRootMock.Setup(ar => ar.Id).Returns(aggregateRootId); aggregateRootMock.Setup(ar => ar.Events).Returns(new[] { serializableStateEvent }); await store.SaveAsync(aggregateRootMock.Object); var storedEvent = (await store.GetAsync(aggregateRootId, 0)).Single(); storedEvent.Should().BeEquivalentTo(serializableStateEvent, options => options.ForMessage()); }