public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid() { var targetStore = new RavenDBSnapshotStore(_documentStore); var anId = Guid.NewGuid(); var aVersion = 12; var snapshot = new MySnapshot { EventSourceId = anId, EventSourceVersion = aVersion }; targetStore.SaveShapshot(snapshot); var savedSnapshot = targetStore.GetSnapshot(anId); savedSnapshot.EventSourceId.Should().Be(anId); savedSnapshot.EventSourceVersion.Should().Be(aVersion); }
public void CanCreateInstanceWithParameters() { var aggregateType = typeof(MyDynamicEventSourcedAggregateRoot).FullName; var aggregateId = Guid.NewGuid(); var snapshot = new MySnapshot(22).WithVersion(2); var testee = new SnapshotDescriptor(aggregateType, aggregateId, snapshot); testee.AggregateType.Should().Be(aggregateType); testee.AggregateId.Should().Be(aggregateId); testee.Version.Should().Be(2); testee.Timestamp.Should().BeCloseTo(DateTime.Now, 1000); testee.SnapshotType.Should().Be("SimpleDomain.TestDoubles.MySnapshot"); testee.Snapshot.Should().BeSameAs(snapshot); }
public async Task CanSaveSnapshots() { bool hasSnapshot; hasSnapshot = await this.testee.HasSnapshotAsync().ConfigureAwait(false); hasSnapshot.Should().BeFalse(); var snapshot = new MySnapshot(11).WithVersion(0); await this.testee.SaveSnapshotAsync(snapshot).ConfigureAwait(false); hasSnapshot = await this.testee.HasSnapshotAsync().ConfigureAwait(false); hasSnapshot.Should().BeTrue(); }
public async Task CanGetAggregateRootById_ByReplayingAllEventsFromSnapshot() { var snapshot = new MySnapshot(22).WithVersion(2); var eventsSinceSnapshot = EventHistory.Create(new ValueEvent(33), new ValueEvent(44)); A.CallTo(() => this.eventStream.HasSnapshotAsync()).Returns(true); A.CallTo(() => this.eventStream.GetLatestSnapshotAsync()).Returns(snapshot); A.CallTo(() => this.eventStream.ReplayAsyncFromSnapshot(snapshot)).Returns(eventsSinceSnapshot); var aggregateRoot = await this.testee .GetByIdAsync <MyDynamicEventSourcedAggregateRoot>(this.aggregateId) .ConfigureAwait(false); aggregateRoot.Version.Should().Be(4); aggregateRoot.Value.Should().Be(44); }
public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid() { var targetStore = new MsSqlServerEventStore(connectionString); var anId = Guid.NewGuid(); var aVersion = 12; var snapshot = new MySnapshot { EventSourceId = anId, EventSourceVersion = aVersion }; targetStore.SaveShapshot(snapshot); var savedSnapshot = targetStore.GetSnapshot(anId); savedSnapshot.EventSourceId.Should().Be(anId); savedSnapshot.EventSourceVersion.Should().Be(aVersion); }
public async Task CanGetLatestSnapshot() { var firstSnapshot = new MySnapshot(11).WithVersion(0); var secondSnapshot = new MySnapshot(22).WithVersion(1); await this.testee.SaveSnapshotAsync(firstSnapshot).ConfigureAwait(false); await this.testee.SaveSnapshotAsync(secondSnapshot).ConfigureAwait(false); var latestSnapshot = await this.testee.GetLatestSnapshotAsync().ConfigureAwait(false); latestSnapshot.Should().BeAssignableTo <MySnapshot>(); var myLatestSnapshot = latestSnapshot as MySnapshot; if (myLatestSnapshot != null) { myLatestSnapshot.Value.Should().Be(22); myLatestSnapshot.Version.Should().Be(1); } }
public void CanFluentlySetVersion() { var snapshot = new MySnapshot(13).WithVersion(33); snapshot.Version.Should().Be(33); }
public void Saving_snapshot_should_not_throw_an_exception_when_snapshot_is_valid() { var targetStore = new SimpleMicrosoftSqlServerEventStore(DEFAULT_CONNECTION); var anId = Guid.NewGuid(); var aVersion = 12; var snapshot = new MySnapshot{EventSourceId=anId, EventSourceVersion=aVersion}; targetStore.SaveShapshot(snapshot); var savedSnapshot = targetStore.GetSnapshot(anId); savedSnapshot.EventSourceId.Should().Be(anId); savedSnapshot.EventSourceVersion.Should().Be(aVersion); }