public async Task SuspendsInvocationIfJobRemainsIncompleteWithAContinuation() { // Arrange var cts = new CancellationTokenSource(); var runner = new TestableJobRunner(TimeSpan.FromSeconds(5)); var invocation = TestHelpers.CreateInvocation(Guid.NewGuid(), "test", "test", new Dictionary <string, string>()); var continuationPayload = new Dictionary <string, string>() { { "foo", "bar" } }; runner.MockDispatcher .Setup(d => d.Dispatch(It.IsAny <InvocationContext>())) .Completes(InvocationResult.Suspended(new JobContinuation(TimeSpan.FromDays(365), continuationPayload))) .Verifiable(); // Act await runner.Dispatch(invocation, cts.Token); // Assert runner.MockQueue.Verify(q => q.Suspend(invocation, continuationPayload, TimeSpan.FromDays(365), null)); }