Пример #1
0
        public void OnNavigatedTo_When_Service_Not_Available_Then_Pops_Alert()
        {
            var repository     = new MockProductCatalogRepository();
            var alertService   = new MockAlertMessageService();
            var resourceLoader = new MockResourceLoader();

            bool alertCalled = false;

            repository.GetCategoryAsyncDelegate = (categoryId) =>
            {
                throw new Exception();
            };

            alertService.ShowAsyncDelegate = (msg, title) =>
            {
                alertCalled = true;
                return(Task.FromResult(string.Empty));
            };

            var viewModel = new GroupDetailPageViewModel(repository, alertService, resourceLoader);

            viewModel.OnNavigatedTo(new NavigatedToEventArgs {
                Parameter = "1", NavigationMode = NavigationMode.New
            }, null);

            Assert.IsTrue(alertCalled);
        }
        public void OnNavigatedTo_When_Service_Not_Available_Then_Pops_Alert()
        {
            var repository     = new MockProductCatalogRepository();
            var alertService   = new MockAlertMessageService();
            var resourceLoader = new MockResourceLoader();

            bool alertCalled = false;

            repository.GetProductAsyncDelegate = (productNumber) =>
            {
                throw new Exception();
            };

            repository.GetProductsAsyncDelegate = (subCategoryId) =>
            {
                throw new Exception();
            };

            alertService.ShowAsyncDelegate = (msg, title) =>
            {
                alertCalled = true;
                return(Task.FromResult(string.Empty));
            };

            var target = new ItemDetailPageViewModel(repository, new MockShoppingCartRepository(), alertService, resourceLoader, null);

            target.OnNavigatedTo("1", NavigationMode.New, null);

            Assert.IsTrue(alertCalled);
        }
        public void FailedCallToProductCatalogRepository_ShowsAlert()
        {
            var alertCalled = false;
            var productCatalogRepository = new MockProductCatalogRepository();
            var navService = new MockNavigationService();

            productCatalogRepository.GetRootCategoriesAsyncDelegate = (maxAmmountOfProducts) =>
            {
                throw new Exception();
            };
            var alertMessageService = new MockAlertMessageService();

            alertMessageService.ShowAsyncDelegate = (s, s1) =>
            {
                alertCalled = true;
                Assert.AreEqual("ErrorServiceUnreachable", s1);
                return(Task.FromResult(string.Empty));
            };
            var target = new HubPageViewModel(productCatalogRepository, navService,
                                              alertMessageService, new MockResourceLoader());

            target.OnNavigatedTo(null, NavigationMode.New, null);

            Assert.IsTrue(alertCalled);
        }
        public void SubmitInvalidOrder_CallsErrorDialog()
        {
            bool successDialogCalled = false;
            bool errorDialogCalled   = false;
            var  navigationService   = new MockNavigationService();
            var  accountService      = new MockAccountService()
            {
                VerifySavedCredentialsAsyncDelegate = () => Task.FromResult <UserInfo>(new UserInfo())
            };
            var orderService = new MockOrderService()
            {
                // the order is invalid, it cannot be processed
                ProcessOrderAsyncDelegate = (o) =>
                {
                    var modelValidationResult = new ModelValidationResult();
                    modelValidationResult.ModelState.Add("someKey", new List <string>()
                    {
                        "the value of someKey is invalid"
                    });
                    throw new ModelValidationException(modelValidationResult);
                }
            };
            var resourcesService = new MockResourceLoader()
            {
                GetStringDelegate = (key) => key
            };
            var alertService = new MockAlertMessageService()
            {
                ShowAsyncDelegate = (dialogTitle, dialogMessage) =>
                {
                    successDialogCalled = dialogTitle.ToLower().Contains("purchased");
                    errorDialogCalled   = !successDialogCalled;
                    return(Task.FromResult(successDialogCalled));
                }
            };

            var target = new CheckoutSummaryPageViewModel(navigationService, orderService, null, null, null, null, accountService, resourcesService, alertService, null);

            target.SubmitCommand.Execute();

            Assert.IsFalse(successDialogCalled);
            Assert.IsTrue(errorDialogCalled);
        }
Пример #5
0
        public void FailedCallToShoppingCartRepository_ShowsAlert()
        {
            var alertCalled            = false;
            var shoppingCartRepository = new MockShoppingCartRepository();

            shoppingCartRepository.GetShoppingCartAsyncDelegate = () =>
            {
                throw new Exception();
            };
            var alertMessageService = new MockAlertMessageService();

            alertMessageService.ShowAsyncDelegate = (s, s1) =>
            {
                alertCalled = true;
                Assert.AreEqual("ErrorServiceUnreachable", s1);
                return(Task.FromResult(string.Empty));
            };
            var accountService = new MockAccountService();

            accountService.VerifyUserAuthenticationAsyncDelegate = () => Task.FromResult((UserInfo)null);
            var target = new ShoppingCartTabUserControlViewModel(shoppingCartRepository, null, alertMessageService, new MockResourceLoader(), accountService);

            Assert.IsTrue(alertCalled);
        }