public async Task Can_Modify_Aggregate() { // PREPARE var @event = new TestAggregateCreated { TestAggregateId = 332, Name = "ddsd" }; var aggregate = new TestAggregate(); await aggregate.Initialize(GetEvents(@event), Task.FromResult(3333)); // RUN aggregate.ChangeName("changed name"); // ASSERT Assert.True(aggregate.HasChanges()); Assert.Equal("332", aggregate.AggregateId); Assert.Equal(3333, aggregate.AggregateVersion); var changes = aggregate.GetChanges(); Assert.Single(changes); var nameChanged = (TestAggregateNameChanged)changes.Single(); Assert.Equal(332, nameChanged.TestAggregateId); Assert.Equal("ddsd", nameChanged.PreviousName); Assert.Equal("changed name", nameChanged.CurrentName); }
public void SerializeObject_WhenObjectIsNotRegisteredAsShorthandType_ReturnsJson() { var idValue = Guid.NewGuid(); var obj = new TestAggregateCreated(idValue); var serializer = new JsonDocumentSerializer(); var json = serializer.SerializeObject(obj); json.Should().Contain("\"$type\":\"Brickweave.EventStore.Tests.Models.TestAggregateCreated, Brickweave.EventStore.Tests\""); _output.WriteLine(json); }
public void SerializeObject_WhenObjectIsRegisteredAsShorthandType_ReturnsJson() { var idValue = Guid.NewGuid(); var obj = new TestAggregateCreated(idValue); var serializer = new JsonDocumentSerializer(typeof(TestAggregateCreated)); var json = serializer.SerializeObject(obj); json.Should().Contain("\"$type\":\"TestAggregateCreated\""); _output.WriteLine(json); }
public async Task Can_Initialize_Aggregate_From_Events() { // PREPARE var @event = new TestAggregateCreated { TestAggregateId = 332, Name = "ddsd" }; // RUN var aggregate = new TestAggregate(); await aggregate.Initialize(GetEvents(@event), Task.FromResult(3333)); // ASSERT Assert.False(aggregate.HasChanges()); Assert.Equal("332", aggregate.AggregateId); Assert.Equal(3333, aggregate.AggregateVersion); var changes = aggregate.GetChanges(); Assert.Empty(changes); }
private void Apply(TestAggregateCreated @event) { Number = @event.Number; }
private void Apply(TestAggregateCreated e) { SetIdentity(TestAggregateId.Of(Guid.Parse(e.AggregateId))); }
public static TestAggregate NewFrom(TestAggregateId id) => (TestAggregate) new TestAggregate().ApplyChange(TestAggregateCreated.Of(id));
private void Apply(TestAggregateCreated e) { AppliedEvents.Add(e); }
public void ApplyEvent(TestAggregate aggregate, TestAggregateCreated @event) { ProjectedEvents.Add(@event.GetType().Name); }
private void Apply(TestAggregateCreated e) { ID = e.ID; SeenEvents.Add(e); }