public void OnNavigatedTo_Fill_RootCategories() { var repository = new MockProductCatalogRepository(); var navigationService = new MockNavigationService(); var searchPaneService = new MockSearchPaneService(); repository.GetCategoriesAsyncDelegate = (maxAmmountOfProducts) => { var categories = new ReadOnlyCollection<Category>(new List<Category>{ new Category(), new Category(), new Category() }); return Task.FromResult(categories); }; var viewModel = new HubPageViewModel(repository, navigationService, null, null, searchPaneService); viewModel.OnNavigatedTo(null, NavigationMode.New, null); Assert.IsNotNull(viewModel.RootCategories); Assert.AreEqual(((ICollection<CategoryViewModel>)viewModel.RootCategories).Count, 3); }
public void FailedCallToProductCatalogRepository_ShowsAlert() { var alertCalled = false; var productCatalogRepository = new MockProductCatalogRepository(); var navService = new MockNavigationService(); var searchPaneService = new MockSearchPaneService(); productCatalogRepository.GetCategoriesAsyncDelegate = (maxAmmountOfProducts) => { throw new HttpRequestException(); }; var alertMessageService = new MockAlertMessageService(); alertMessageService.ShowAsyncDelegate = (s, s1) => { alertCalled = true; Assert.AreEqual("Error", s1); return Task.FromResult(string.Empty); }; var target = new HubPageViewModel(productCatalogRepository, navService, alertMessageService, new MockResourceLoader(), searchPaneService); target.OnNavigatedTo(null, NavigationMode.New, null); Assert.IsTrue(alertCalled); }