public async Task ProviderOrchestrationAsync_Returns_Wish_Results() { var wishA = new Wish { Name = "wish", Query = "query" }; var wishB = new Wish { Name = "wish two", Query = "w.2" }; var providerCtx = new SearchProviderContext { Provider = new Provider(), Wishes = new[] { wishA, wishB } }; var context = new Mock <DurableOrchestrationContextBase>(MockBehavior.Strict); context.Setup(c => c.GetInput <SearchProviderContext>()).Returns(providerCtx); context.SetupSequence(c => c.CallActivityAsync <IEnumerable <WishResult> >("WishSearch", It.IsAny <object>())) .ReturnsAsync(new[] { new WishResult(), new WishResult() }). ReturnsAsync(new[] { new WishResult() }); var result = await _function.ProviderOrchestrationAsync(context.Object); context.Verify(c => c.GetInput <SearchProviderContext>(), Times.Once()); context.Verify(c => c.CallActivityAsync <IEnumerable <WishResult> >("WishSearch", It.IsAny <object>()), Times.Exactly(2)); Assert.Equal(3, result.Count()); }
public async Task ProviderOrchestrationAsync_Returns_Empty_List_With_No_Wishes() { var providerCtx = new SearchProviderContext { Provider = new Provider(), Wishes = Enumerable.Empty <Wish>() }; var context = new Mock <DurableOrchestrationContextBase>(MockBehavior.Strict); context.Setup(c => c.GetInput <SearchProviderContext>()).Returns(providerCtx); var result = await _function.ProviderOrchestrationAsync(context.Object); context.Verify(c => c.GetInput <SearchProviderContext>(), Times.Once()); context.Verify(c => c.CallActivityAsync <IEnumerable <WishResult> >("WishSearch", It.IsAny <object>()), Times.Never()); Assert.Empty(result); }