public async Task Should_reset_consumer_when_resetting() { await sut.OnActivateAsync(consumerName); await sut.ActivateAsync(); await sut.StopAsync(); await sut.ResetAsync(); state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = null, Error = null }); A.CallTo(() => persistence.WriteSnapshotAsync(A <EventConsumerState> .Ignored)) .MustHaveHappened(Repeated.Exactly.Twice); A.CallTo(() => eventConsumer.ClearAsync()) .MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => eventSubscription.StopAsync()) .MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => eventStore.CreateSubscription(A <IEventSubscriber> .Ignored, A <string> .Ignored, state.Position)) .MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => eventStore.CreateSubscription(A <IEventSubscriber> .Ignored, A <string> .Ignored, null)) .MustHaveHappened(Repeated.Exactly.Once); }
public async Task Should_reset_consumer_when_resetting() { await sut.ActivateAsync(consumerName); await sut.ActivateAsync(); await sut.StopAsync(); await sut.ResetAsync(); grainState.Value.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = null, Error = null }); A.CallTo(() => grainState.WriteAsync()) .MustHaveHappened(2, Times.Exactly); A.CallTo(() => eventConsumer.ClearAsync()) .MustHaveHappened(1, Times.Exactly); A.CallTo(() => eventSubscription.StopAsync()) .MustHaveHappened(1, Times.Exactly); A.CallTo(() => eventStore.CreateSubscription(A <IEventSubscriber> .Ignored, A <string> .Ignored, grainState.Value.Position)) .MustHaveHappened(1, Times.Exactly); A.CallTo(() => eventStore.CreateSubscription(A <IEventSubscriber> .Ignored, A <string> .Ignored, null)) .MustHaveHappened(1, Times.Exactly); }