public void NavigatingToWhenNoShippingMethodSelected_RecalculatesOrder() { var shippingMethods = new List<ShippingMethod> { new ShippingMethod { Id = 1, Cost = 0 } }; var shoppingCartItems = new List<ShoppingCartItem> { new ShoppingCartItem { Quantity = 1, Currency = "USD", Product = new Product() } }; var order = new Order { ShoppingCart = new ShoppingCart(shoppingCartItems) { Currency = "USD", TotalPrice = 100 }, ShippingAddress = new Address { Id = "1"}, BillingAddress = new Address { Id = "1" }, PaymentMethod = new PaymentMethod() { CardNumber = "1234" }, ShippingMethod = null }; var shippingMethodService = new MockShippingMethodService { GetShippingMethodsAsyncDelegate = () => Task.FromResult<IEnumerable<ShippingMethod>>(shippingMethods) }; var orderRepository = new MockOrderRepository { CurrentOrder = order }; var shoppingCartRepository = new MockShoppingCartRepository { GetShoppingCartAsyncDelegate = () => Task.FromResult(order.ShoppingCart) }; var checkoutDataRepository = new MockCheckoutDataRepository(); checkoutDataRepository.GetShippingAddressAsyncDelegate = s => Task.FromResult(new Address()); checkoutDataRepository.GetBillingAddressAsyncDelegate = s => Task.FromResult(new Address()); checkoutDataRepository.GetPaymentMethodDelegate = s => Task.FromResult(new PaymentMethod { CardNumber = "1234" }); var target = new CheckoutSummaryPageViewModel(new MockNavigationService(), new MockOrderService(), orderRepository, shippingMethodService, checkoutDataRepository, shoppingCartRepository, new MockAccountService(), new MockResourceLoader(), null, null); target.OnNavigatedTo(new NavigatedToEventArgs { Parameter = null, NavigationMode = NavigationMode.New }, null); Assert.AreEqual("$0.00", target.ShippingCost); Assert.AreEqual("$100.00", target.OrderSubtotal); Assert.AreEqual("$100.00", target.GrandTotal); }
public void SelectCheckoutData_Opens_AppBar() { var shippingMethods = new List<ShippingMethod>() { new ShippingMethod() { Id = 1, Cost = 0 } }; var shoppingCartItems = new List<ShoppingCartItem>() { new ShoppingCartItem() { Quantity = 1, Currency = "USD", Product = new Product() } }; var order = new Order() { ShoppingCart = new ShoppingCart(shoppingCartItems) { Currency = "USD", FullPrice = 100 }, ShippingAddress = new Address(), BillingAddress = new Address(), PaymentMethod = new PaymentMethod() { CardNumber = "1234" }, ShippingMethod = shippingMethods.First() }; var shippingMethodService = new MockShippingMethodService() { GetShippingMethodsAsyncDelegate = () => Task.FromResult<IEnumerable<ShippingMethod>>(shippingMethods) }; var orderRepository = new MockOrderRepository() { CurrentOrder = order}; var shoppingCartRepository = new MockShoppingCartRepository(); shoppingCartRepository.GetShoppingCartAsyncDelegate = () => Task.FromResult(order.ShoppingCart); var checkoutDataRepository = new MockCheckoutDataRepository(); checkoutDataRepository.GetShippingAddressAsyncDelegate = s => Task.FromResult(new Address()); checkoutDataRepository.GetBillingAddressAsyncDelegate = s => Task.FromResult(new Address()); checkoutDataRepository.GetPaymentMethodDelegate = s => Task.FromResult(new PaymentMethod { CardNumber = "1234" }); var target = new CheckoutSummaryPageViewModel(new MockNavigationService(), new MockOrderService(), orderRepository, shippingMethodService, checkoutDataRepository, shoppingCartRepository, new MockAccountService(), new MockResourceLoader(), null, null); target.OnNavigatedTo(new NavigatedToEventArgs { Parameter = null, NavigationMode = NavigationMode.New }, null); Assert.IsFalse(target.IsBottomAppBarOpened); target.SelectedCheckoutData = target.CheckoutDataViewModels.First(); Assert.IsTrue(target.IsBottomAppBarOpened); }