public async Task DoesNotAppendEventWhenLastEventIsFromSameDay() { var now = new DateTime(2019, 12, 25, 12, 00, 00); var utcNow = now.ToUniversalTime(); var clockProviderStub = new ClockProviderStub(now); var inMemoryStreamStore = new InMemoryStreamStore(() => utcNow); var clockHasTicked = new ClockHasTicked(new DateTime(2019, 12, 25, 11, 00, 00)); var cancellationToken = CancellationToken.None; await inMemoryStreamStore.AppendToStream( streamId : new StreamId(ClockTickingService.ClockStreamId), expectedVersion : ExpectedVersion.Any, message : new NewStreamMessage( messageId: Guid.NewGuid(), type: _eventMapping.GetEventName(clockHasTicked.GetType()), jsonData: JsonConvert.SerializeObject(clockHasTicked)), cancellationToken : cancellationToken); var sut = new ClockTickingService(inMemoryStreamStore, clockProviderStub); await sut.StartAsync(cancellationToken); var forwards = await inMemoryStreamStore.ReadAllForwards(Position.Start, Int32.MaxValue, true, cancellationToken); forwards.Messages.Should().HaveCount(1); }
private async Task AppendClockHasTicked( CancellationToken cancellationToken, StreamId clockStreamId, EventMapping eventMapping) { var clockHasTicked = new ClockHasTicked(_clockProvider.Now); await _streamStore.AppendToStream( streamId : clockStreamId, expectedVersion : ExpectedVersion.Any, message : new NewStreamMessage( messageId: Guid.NewGuid(), type: eventMapping.GetEventName(clockHasTicked.GetType()), jsonData: JsonConvert.SerializeObject(clockHasTicked)), cancellationToken : cancellationToken); }