public async Task GetSearchSuggestions_LongQuery_CallsService() { var search = new MockSearchService(); var playback = new MockPlaybackService(); search.GetSearchSuggestionsAsyncDelegate = MockGetSearchSuggestionsAsync; var viewModel = new MusicPageViewModel(search, playback); viewModel.Query = "lov"; await viewModel.GetSearchSuggestions(); Assert.AreEqual(2, viewModel.SearchSuggestions.Count); Assert.AreEqual("loveboy", viewModel.SearchSuggestions[1]); }
public async Task SubmitQuery_NoQuery_DoesNothing() { var search = new MockSearchService(); var playback = new MockPlaybackService(); search.GetFilteredSongsAsyncDelegate = MockGetFilteredSongsAsync; var viewModel = new MusicPageViewModel(search, playback); viewModel.Query = ""; await viewModel.SubmitQuery(); Assert.AreEqual(0, viewModel.Results.Count); Assert.IsFalse(viewModel.IsLoading); }
public async Task SubmitQuery_QueryPresent_CallsService() { var search = new MockSearchService(); var playback = new MockPlaybackService(); search.GetFilteredSongsAsyncDelegate = MockGetFilteredSongsAsync; var viewModel = new MusicPageViewModel(search, playback); viewModel.Query = "bob"; await viewModel.SubmitQuery(); Assert.AreEqual(2, viewModel.Results.Count); Assert.AreEqual("One Love", viewModel.Results[0].Name); Assert.IsFalse(viewModel.IsLoading); }
public static async Task <CarResultWrapper> RunOrchestrator( [OrchestrationTrigger] DurableOrchestrationContext context) { var searchRequest = context.GetInput <CarSearchRequest>(); var suppliers = await context.CallActivityWithRetryAsync <List <Supplier> >("GetActiveSuppliers", RetryPolicy.DbReadRetryOption, null); bool isLocalhost; bool.TryParse(Environment.GetEnvironmentVariable("Localhost"), out isLocalhost); MockSearchService.IsLocalHost = isLocalhost; MockSearchService.InitData(); var searchParallelTasks = new List <Task <List <CarPrice> > >(); foreach (var sup in suppliers) { var task = context.CallActivityAsync <List <CarPrice> >("SearchCarSupplier", new { CarSearchRequest = searchRequest, Supplier = sup }); searchParallelTasks.Add(task); } await Task.WhenAll(searchParallelTasks); var carPriceResults = new CarResultWrapper { BookingDetail = searchRequest }; var carResults = new List <CarPrice>(); foreach (var t in searchParallelTasks) { carResults.AddRange(t.Result); } carPriceResults.CarPrices = carResults; // TODO: fan-in, aggregate & de-duplicate data, sort/grouping etc. return(carPriceResults); }
public TruncatingSearchServiceTests() { schema = new MockSchema(); mockService = new MockSearchService(schema); sut = new TruncatingSearchService(mockService); }