public void AddProductRedirectsToInvoiceCreateIfModelValid() { //Arange CacheMock.SetupGet(cache => cache["Invoice"]).Returns(new Invoice {CustomerId = "8"}); var sut = new InvoiceLineController{Cache = CacheMock.Object}; //Act var actual = sut.AddProduct(new InvoiceLine{ProductId = "1"}) as RedirectToRouteResult; //Assert Assert.IsNotNull(actual); Assert.AreEqual("Create",actual.RouteValues["action"]); Assert.AreEqual("Invoice", actual.RouteValues["controller"]); Assert.AreEqual("8", actual.RouteValues["CustomerId"]); }
public void AddProductAddInvoiceLineToInvoice() { //Arange var expected = new InvoiceLine{ProductId = "3"}; var sut = new InvoiceLineController{Cache = CacheMock.Object}; //Act sut.AddProduct(expected); //Assert Assert.IsTrue(sut.Invoice.Lines.Contains(expected)); Assert.IsNotNull(expected.Product); Assert.AreEqual("3", expected.Product.Number); }
public void AddProductPopulatesProductSelectItems() { //Arrange var sut = new InvoiceLineController { Cache = CacheMock.Object }; //Act var actual = sut.AddProduct() as ViewResult; //Arrange Assert.IsNotNull(actual); var productSelectList = actual.ViewData["Products"] as IEnumerable<SelectListItem>; Assert.IsNotNull(productSelectList); Assert.AreEqual(productSelectList.Single(item => item.Value == "1").Text, "1-Product1"); Assert.AreEqual(productSelectList.Single(item => item.Value == "2").Text, "2-Product2"); Assert.AreEqual(productSelectList.Single(item => item.Value == "3").Text, "3-Product3"); }