public void ConstructorShouldPopulateCoffeeCondimentsProperty_WhenValidParameterIsPassed() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); var coffeeCondiments = new List <string>() { "Milk", "Chocolate", "Caramel" }; menuProviderMock.Setup(m => m.GetCoffeeCondiments()).Returns(coffeeCondiments); //Act var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); //Assert menuProviderMock.Verify(m => m.GetCoffeeCondiments(), Times.Once()); Assert.That(orderWizardViewModel.CoffeeCondiments.ContainsKey(coffeeCondiments[0]), Is.True); Assert.That(orderWizardViewModel.CoffeeCondiments[coffeeCondiments[0]], Is.False); Assert.That(orderWizardViewModel.CoffeeCondiments.ContainsKey(coffeeCondiments[1]), Is.True); Assert.That(orderWizardViewModel.CoffeeCondiments[coffeeCondiments[1]], Is.False); Assert.That(orderWizardViewModel.CoffeeCondiments.ContainsKey(coffeeCondiments[2]), Is.True); Assert.That(orderWizardViewModel.CoffeeCondiments[coffeeCondiments[2]], Is.False); }
public void TransferDataTo_ShouldReturnThePassedObjectOfTypeIProcessingOrder() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); var processingOrder = new Mock <IProcessingOrder>(); var coffeeTypes = new List <string>() { "Americano", "Latte" }; var coffeeSizes = new List <string>() { "Grande", "Small" }; var coffeeCondiments = new List <string>() { "Milk", "Chocolate", "Caramel" }; menuProviderMock.Setup(m => m.GetCoffeeTypes()).Returns(coffeeTypes); menuProviderMock.Setup(m => m.GetCoffeeSizes()).Returns(coffeeSizes); menuProviderMock.Setup(m => m.GetCoffeeCondiments()).Returns(coffeeCondiments); var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); //Act var result = orderWizardViewModel.TransferDataTo(processingOrder.Object); //Assert Assert.That(result, Is.InstanceOf <IProcessingOrder>()); Assert.That(result, Is.SameAs(processingOrder.Object)); }
public void SelectedCoffeeSizeShouldBeNull_AfterInitialization() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); var coffeeTypes = new List <string>() { "Americano", "Latte" }; var coffeeSizes = new List <string>() { "Grande", "Small" }; var coffeeCondiments = new List <string>() { "Milk", "Chocolate", "Caramel" }; menuProviderMock.Setup(m => m.GetCoffeeTypes()).Returns(coffeeTypes); menuProviderMock.Setup(m => m.GetCoffeeSizes()).Returns(coffeeSizes); menuProviderMock.Setup(m => m.GetCoffeeCondiments()).Returns(coffeeCondiments); //Act var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); //Assert Assert.That(orderWizardViewModel.SelectedCoffeeSize, Is.Null); }
public void ConstructorShouldCreateInstance_WhenValidParameterIsPassed() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); //Act var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); //Assert Assert.That(orderWizardViewModel, Is.InstanceOf <OrderWizardViewModel>()); }
public ActionResult Index(string city) { if (!this.cityNames.Contains(city)) { return(RedirectToAction("Index", "Home")); } TempData["City"] = city; ViewBag.City = city; OrderWizardViewModel orderWizardVM = new OrderWizardViewModel(this.menuProvider); return(View(orderWizardVM)); }
public void ConstructorShouldPopulateCoffeeSizesProperty_WhenValidParameterIsPassed() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); var coffeeSizes = new List <string>() { "Grande", "Small" }; menuProviderMock.Setup(m => m.GetCoffeeSizes()).Returns(coffeeSizes); //Act var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); //Assert menuProviderMock.Verify(m => m.GetCoffeeSizes(), Times.Once()); Assert.That(orderWizardViewModel.CoffeeSizes, Is.SameAs(coffeeSizes)); }
[HttpPost] //AJAX public ActionResult Index() { OrderWizardViewModel orderWizardVM = new OrderWizardViewModel(this.menuProvider); if (TryUpdateModel(orderWizardVM) && ModelState.IsValid) { var emptyOrder = this.orderFactory.CreateOrder(); var order = orderWizardVM.TransferDataTo(emptyOrder); var coffee = this.store.ProcessOrder(order); TempData["Order"] = coffee; FinalOrderViewModel finalOrderViewModel = new FinalOrderViewModel(coffee); return(PartialView("Success", finalOrderViewModel)); } return(View(orderWizardVM)); }
public void TransferDataTo_ShouldPopulateSelectedCoffeeCodimentsListOfPassedObject() { //Arrange var menuProviderMock = new Mock <IMenuProvider>(); var processingOrder = new Mock <IProcessingOrder>(); var coffeeTypes = new List <string>() { "Americano", "Latte" }; var coffeeSizes = new List <string>() { "Grande", "Small" }; var coffeeCondiments = new List <string>() { "Milk", "Chocolate", "Caramel" }; menuProviderMock.Setup(m => m.GetCoffeeTypes()).Returns(coffeeTypes); menuProviderMock.Setup(m => m.GetCoffeeSizes()).Returns(coffeeSizes); menuProviderMock.Setup(m => m.GetCoffeeCondiments()).Returns(coffeeCondiments); processingOrder.SetupProperty(p => p.SelectedCoffeeCodimentsList); var orderWizardViewModel = new OrderWizardViewModel(menuProviderMock.Object); orderWizardViewModel.SelectedCoffeeType = coffeeTypes[1]; orderWizardViewModel.SelectedCoffeeSize = coffeeSizes[1]; orderWizardViewModel.CoffeeCondiments[coffeeCondiments[1]] = true; //Act var result = orderWizardViewModel.TransferDataTo(processingOrder.Object); //Assert Assert.That(result.SelectedCoffeeCodimentsList, Is.EquivalentTo(orderWizardViewModel.CoffeeCondiments.Where(c => c.Value == true).Select(c => c.Key))); }