コード例 #1
0
        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"]);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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");
        }