private void Arrange_Snapshot(ThingySnapshot thingySnapshot) { _snapshotStore .Setup(s => s.LoadSnapshotAsync <ThingyAggregate, ThingyId, ThingySnapshot>(It.IsAny <ThingyId>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new SnapshotContainer( thingySnapshot, new SnapshotMetadata { AggregateSequenceNumber = thingySnapshot.PingsReceived.Count })); }
private void Arrange_Snapshot(ThingySnapshot thingySnapshot) { _snapshotStore .Setup(s => s.LoadSnapshotAsync <ThingyAggregate, ThingyId, ThingySnapshot>(It.IsAny <ThingyId>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new SnapshotContainer( thingySnapshot, new SnapshotMetadata { AggregateSequenceNumber = thingySnapshot.PingsReceived.Count, PreviousSourceIds = new List <ISourceId>() { new SourceId(CommandId.New.Value) } })); }
public async Task SnapshotIsLoaded(int eventsInStore) { // Arrange var thingySnapshot = new ThingySnapshot( Many <PingId>(ThingyAggregate.SnapshotEveryVersion), Enumerable.Empty <ThingySnapshotVersion>()); Arrange_Snapshot(thingySnapshot); Arrange_EventStore(ManyDomainEvents <ThingyPingEvent>(eventsInStore)); // Act await Sut.LoadAsync(_eventStoreMock.Object, _snapshotStore.Object, CancellationToken.None); // Assert Sut.Version.Should().Be(eventsInStore); Sut.SnapshotVersion.GetValueOrDefault().Should().Be(ThingyAggregate.SnapshotEveryVersion); }