public void TestInitialize()
        {
            var serviceCollection = new ServiceCollection()
                                    .AddLogging();

            serviceCollection.Add(new ServiceDescriptor(typeof(DatabaseContext),
                                                        UnitTestDatabaseContext.Get()));
            serviceCollection.Add(new ServiceDescriptor(typeof(DaoManager),
                                                        DaoManager.Get(UnitTestDatabaseContext.Get())));
            var serviceProvider = serviceCollection.BuildServiceProvider();
            var factory         = serviceProvider.GetService <ILoggerFactory>();
            var logger          = factory.CreateLogger <ShoppingBasketController>();

            Controller = new ShoppingBasketController(logger)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        RequestServices = serviceProvider
                    }
                }
            };
            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim(ClaimTypes.Sid, "3"));
            identity.AddClaim(new Claim(ClaimTypes.Role, "Admin"));
            Controller.ControllerContext.HttpContext.User = new ClaimsPrincipal(identity);
        }
        public void View_Shopping_Contents()
        {
            //arrange
            ShoppingBasket shoppingBasket = new ShoppingBasket();

            ShoppingBasketController controller = new ShoppingBasketController(null,null);

            //act
            ShoppingBasketIndexViewModel rez = (ShoppingBasketIndexViewModel)controller.Index(shoppingBasket, "myUrl")
                .ViewData.Model;

            //assert
            Assert.AreSame(rez.Basket, shoppingBasket);
            Assert.AreEqual(rez.ReturnUrl, "myUrl");
        }
        public void AddingPart_Goes_To_Screen()
        {
            //arrange
            Mock<IPartRepository> mock = new Mock<IPartRepository>();
            mock.Setup(m => m.Parts).Returns(new List<Part>
            {
                new Part {Part_Id = 1, Name = "Part1", Description = "Des1"},
            }.AsQueryable());

            ShoppingBasket shoppingBasket = new ShoppingBasket();
            ShoppingBasketController controller = new ShoppingBasketController(mock.Object, null);

            //act
            RedirectToRouteResult rez = controller.AddToBacket(shoppingBasket, 2, "myUrl");

            //assert
            Assert.AreEqual(rez.RouteValues["action"], "Index");
            Assert.AreEqual(rez.RouteValues["return_Url"], "myUrl");
        }
        public void Add_To_Basket()
        {
            //arrange
            Mock<IPartRepository> mock = new Mock<IPartRepository>();
            mock.Setup(m => m.Parts).Returns(new List<Part>
            {
                new Part {Part_Id = 1, Name = "Part1", Description = "Des1"},
            }.AsQueryable());

            ShoppingBasket shoppingBasket = new ShoppingBasket();
            ShoppingBasketController controller = new ShoppingBasketController(mock.Object, null);

            //act
            controller.AddToBacket(shoppingBasket, 1, null);

            //assert
            Assert.AreEqual(shoppingBasket.Lines.Count(), 1);
            Assert.AreEqual(shoppingBasket.Lines.ToList()[0].Part.Part_Id, 1);
        }
        public void Checkout_And_Sumbit_Order()
        {
            //arrange
            Mock<IOrder> mock = new Mock<IOrder>();

            ShoppingBasket basket = new ShoppingBasket();
            basket.Add_Item(new Part(), 1);

            ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object);

            //act
            ViewResult result = controller.Checkout(basket, new ShippingDetails());

            //arrange
            mock.Verify(m => m.ProcessOrder(It.IsAny<ShoppingBasket>(), It.IsAny<ShippingDetails>()),
                Times.Once());

            Assert.AreEqual("Completed", result.ViewName);
            Assert.AreEqual(true, result.ViewData.ModelState.IsValid);
        }
        public void Checkout_Invalid_ShippingDetails()
        {
            //arrange
            Mock<IOrder> mock = new Mock<IOrder>();

            ShoppingBasket basket = new ShoppingBasket();
            basket.Add_Item(new Part(), 1);

            ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object);
            controller.ModelState.AddModelError("error", "error");

            //act
            ViewResult result = controller.Checkout(basket, new ShippingDetails());

            //assert
            mock.Verify(m => m.ProcessOrder(It.IsAny<ShoppingBasket>(), It.IsAny<ShippingDetails>()),
                Times.Never());

            Assert.AreEqual("", result.ViewName);
            Assert.AreEqual(false, result.ViewData.ModelState.IsValid);
        }
        public void Checkout_Empty_Basket()
        {
            //arrange
            Mock<IOrder> mock = new Mock<IOrder>();

            ShoppingBasket basket = new ShoppingBasket();

            ShippingDetails details = new ShippingDetails();

            ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object);

            //act
            ViewResult result = controller.Checkout(basket, details);

            //assert
            mock.Verify(m => m.ProcessOrder(It.IsAny<ShoppingBasket>(), It.IsAny<ShippingDetails>()),
                Times.Never());

            Assert.AreEqual("", result.ViewName);
            Assert.AreEqual(false, result.ViewData.ModelState.IsValid);
        }
 public void SetupMocks()
 {
     _mockShoppingBasketContext = new Mock <IShoppingBasketContext>();
     _shoppingBasketController  = new ShoppingBasketController(_mockShoppingBasketContext.Object);
 }
Beispiel #9
0
 public void Setup()
 {
     _dataServiceMock = new Mock <IDataSourceService <ShoppingBasket> >();
     _sut             = new ShoppingBasketController(_dataServiceMock.Object);
 }