コード例 #1
0
        public async Task EventStream_ToObject__After_specified_date()
        {
            string         streamName  = "Aggregate-1";
            int            numOfEvents = 2;
            DateTimeOffset from        = new DateTimeOffset(new DateTime(2021, 1, 2, 23, 59, 59, DateTimeKind.Utc));
            DateTimeOffset to          = default(DateTimeOffset);
            var            target      = new EventStream(streamName, streamStore, logger);

            streamStore.ReadStream(streamName, from, to).Returns(Streams.Aggregate_1.Skip(2).Take(numOfEvents).ToAsyncEnumerable());
            var result = await target.After(from).ToObject <Aggregate>(Substitute.ForPartsOf <Aggregate>(), (@event, aggregate) => aggregate.Apply(@event));

            result.ReceivedCalls().Count().Should().Be(numOfEvents);

            Approvals.Verify(JObject.FromObject(result).ToString());
        }