Example #1
0
 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
     }));
 }
Example #2
0
 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)
         }
     }));
 }
Example #3
0
        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);
        }