public void Option1_TestDiscount_Success() { try { _connection.Open(); var options = DatabaseHelper.GetContextOptions(_connection); // Add products and discounts to Test DB DatabaseHelper.SetupProducts(_connection); using (var context = new AppDbContext(options)) { var repo = new SupermarketRepository(context); var controller = new BasketController(repo); var expectedTotal = 2.95m; var expectedLineCount = 3; // Add 1 bread, 1 milk and 1 butter controller.AddToBasket(1); controller.AddToBasket(2); controller.AddToBasket(3); var model = (controller.Index(_basketId) as ViewResult).Model as BasketViewModel; Assert.True(model.ProductLineItems.Count == expectedLineCount); Assert.True(model.Total == expectedTotal); // Basket total before discount var updatedViewModel = (controller.UpdateTotal(_basketId) as ViewResult).Model as BasketViewModel; Assert.True(updatedViewModel.Total == expectedTotal); // Basket Total after update } } finally { _connection.Close(); } }
public void CanAddBasketItem() { //Send in Mock repositories //Set Up IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); var controller = new BasketController(basketService); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //TestCategoryAttribute the basket service directly //Act // basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); // Looking for basket collection Basket basket = baskets.Collection().FirstOrDefault(); //Test an d check //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItemController() { // Arrange const string productId = "1"; IRepository <Basket> basketContext = new MockContext <Basket>(); IRepository <BasketItem> basketItemsContext = new MockContext <BasketItem>(); IRepository <Product> productContext = new MockContext <Product>(); IRepository <Order> orderContext = new MockContext <Order>(); IRepository <Customer> customerContext = new MockContext <Customer>(); MockHttpContext httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(productContext, basketContext, basketItemsContext); IOrderService orderService = new OrderService(orderContext); BasketController controller = new BasketController(basketService, orderService, customerContext); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); // Act controller.AddToBasket(productId); Basket basket = basketContext.Collection().FirstOrDefault(); // Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual(productId, basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { //Setup Info IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); IRepository <Order> orders = new MockContext <Order>(); IRepository <Customer> customers = new MockContext <Customer>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderService(orders); var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //Act on Info controller.AddToBasket("1"); basketService.AddToBasket(httpContext, "1"); Basket basket = baskets.Collection().FirstOrDefault(); //Confirm on Info Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { // Setup var baskets = new MockContext <Basket>(); var products = new MockContext <Product>(); var orders = new MockContext <Order>(); var httpContext = new MockHttpContext(); var customers = new MockContext <Customer>(); // Act IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderService(orders); var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); controller.AddToBasket("1"); // Assert var basket = baskets.Collection().FirstOrDefault(); Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.FirstOrDefault().ProductId); }
public void CanAddBasketItem() { // setup var baskets = new MockContext <Basket>(); var products = new MockContext <Product>(); var orders = new MockContext <Order>(); var httpContext = new MockHttpContext(); var customers = new MockContext <Customer>(); var basketService = new BasketService(products, baskets); var orderService = new OrderService(orders); customers.Insert(new Customer { Id = "1", Email = "*****@*****.**", ZipCode = "11000" }); var fakeUser = new GenericPrincipal(new GenericIdentity("*****@*****.**", "Forms"), null); httpContext.User = fakeUser; var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // act //basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); var basket = baskets.Collection().FirstOrDefault(); // assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { // Setup IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); IRepository <Order> orders = new MockContext <Order>(); IRepository <Customer> customers = new MockContext <Customer>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderService(orders); // This is so we can test add to bask throught the controller var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); // Act // This is to test the basket service itself //basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); // Test // Test if Basket is not Empty Assert.IsNotNull(basket); // Test that there is only one item in the basket Assert.AreEqual(1, basket.BasketItems.Count); // Tests that the first item productid is 1 Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { //setup IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); var controller = new BasketController(basketService); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //Act //basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { //Arrange IRepository <Basket> basketRepository = new MockRepository <Basket>(); IRepository <Product> productRepository = new MockRepository <Product>(); IRepository <Order> orderRepository = new MockRepository <Order>(); IRepository <Customer> customerRepository = new MockRepository <Customer>(); MockHttpContext httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(productRepository, basketRepository); IOrderService orderService = new OrderService(orderRepository); var controller = new BasketController(basketService, orderService, customerRepository); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); //Act // basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); Basket basket = basketRepository.Collection().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { //Setup IRepository <Basket> baskets = new MockRepository <Basket>(); IRepository <Product> products = new MockRepository <Product>(); IRepository <Order> orders = new MockRepository <Order>(); IRepository <Customer> customers = new MockRepository <Customer>(); IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderService(orders); var controller = new BasketController(basketService, orderService, customers); var httpContext = new MockHttpContext(); controller.ControllerContext = new ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //Act //to test the service directly we would do this //basketService.AddToBasket(httpContext, "1"); //to test the service via the controller we do this controller.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void CanAddBasketItem() { IRepository <Product> productContext = new MockContext <Product>(); //IRepository<ProductCategory> productCategoryContext = new MockContext<ProductCategory>(); IRepository <Basket> basketContext = new MockContext <Basket>(); IRepository <Customer> customerRepository = new MockContext <Customer>(); IBasketService basketService = new BasketService(productContext, basketContext); IOrderService orderService = new OrderService(new MockContext <Order>()); //setting up BasketController basketController = new BasketController(basketService, orderService, customerRepository); basketController.ControllerContext = new System.Web.Mvc.ControllerContext(new MockHttpContext(), new System.Web.Routing.RouteData(), basketController); //basketService.AddToBasket(new MockHttpContext(),"1"); //act basketController.AddToBasket("1"); var basket = basketContext.Collection().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count()); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void Create_a_basket_when_first_item_is_added() { basketServiceMock.Setup(b => b.AddItemToBasket(It.IsAny <Product>(), It.IsAny <int>())); var response = basketController .AddToBasket(fixture.Create <Product>(), fixture.Create <int>()) as StatusCodeResult; basketServiceMock.Verify(b => b.AddItemToBasket(It.IsAny <Product>(), It.IsAny <int>())); Assert.That(response.StatusCode, Is.EqualTo(StatusCodes.Status201Created)); }
public void Delete_ReturnsIActionResultWhenGameKeyAndQuantityAndPrice() { // Arrange string gameKey = "csgo"; // Act var result = _basketController.AddToBasket(gameKey) as IActionResult; // Assert Assert.NotNull(result); }
public void RedirectToActionIndexWhenValidForAddToBasket() { _basketService.Setup(x => x.AddToBasket(It.IsAny <HttpContext>(), "abc123")); var result = _sut.AddToBasket("abc123"); _basketService.Verify(x => x.AddToBasket(It.IsAny <HttpContext>(), "abc123"), Times.Once); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", redirectToActionResult.ActionName); }
public void BasketController_AddToBasket_Test_Success() { try { _connection.Open(); var options = DatabaseHelper.GetContextOptions(_connection); // Add products to Test DB DatabaseHelper.SetupProducts(_connection); using (var context = new AppDbContext(options)) { var repo = new SupermarketRepository(context); var controller = new BasketController(repo); // Add 4 containers of milk to the basket. 1 line item controller.AddToBasket(2); controller.AddToBasket(2); controller.AddToBasket(2); controller.AddToBasket(2); var result = controller.Index(_basketId) as ViewResult; Assert.NotNull(result); var model = result.Model as BasketViewModel; Assert.True(model.BasketId == 1); Assert.True(model.ProductLineItems.Count == 1); // Basket total before discount Assert.True(model.Total == 4.60m); var updatedresult = controller.UpdateTotal(_basketId) as ViewResult; var updatedViewModel = updatedresult.Model as BasketViewModel; Assert.True(updatedViewModel.Total == 3.45m); } } finally { _connection.Close(); } }
public void CanAddBasketItem() { // Arrange Setup(); // Act _mockedController.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); // Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
static void Main(string[] args) { IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); var controller = new BasketController(basketService); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); }
public void CanAddBasketItem() { //setup IRepository <Basket> baskets = new MockContext <Basket>(); // created the mock repositories IRepository <Product> products = new MockContext <Product>(); IRepository <Order> orders = new MockContext <Order>(); IRepository <Customer> customers = new MockContext <Customer>(); var httpContext = new MockHttpContext(); //created our httpContext IBasketService basketService = new BasketService(products, baskets); // ceated our basketService which takes our products, baskets context IOrderService orderService = new OrderService(orders); //// for testing the BasketService //basketService.AddToBasket(httpContext, "1"); // to test the service directly //Basket basket = baskets.Collection().FirstOrDefault(); // checks if theres any baskets in our basket collection //Assert.IsNotNull(basket); // checks basket to make sure it is not null //Assert.AreEqual(1, basket.BasketItems.Count); // checks if there is one item in the basket //Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); // checks to make sure the productId in the basket is the one we just injected // for testing the BasketController //act var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); // how we inject the httpContext into the controller controller.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }
public void AddToBasket_ShouldReturnNotFound(short value) { _gameManagerMock.Setup(x => x.GetGameByKey(It.IsAny <string>())).Returns(new Game() { Key = "asd", UnitsInStock = value }); var bc = new BasketController(_gameManagerMock.Object); TestControllerBuilder builder = new TestControllerBuilder(); builder.InitializeController(bc); builder.Session["Basket"] = new List <string>() { "asd", "str", "key" }; var result = bc.AddToBasket("asd") as HttpStatusCodeResult; Assert.AreEqual(404, result.StatusCode); }
//добавление товара в корзину пользователя public void Can_Add_To_Basket() { //Организация Mock <IBookRepository> mock = new Mock <IBookRepository>(); mock.Setup(m => m.Books).Returns(new List <Book> { new Book { BookId = 1, Name = "Book1", Price = 12 } }.AsQueryable()); Basket basket = new Basket(); BasketController controller = new BasketController(mock.Object, null); //Действия controller.AddToBasket(basket, 1, null); //Утверждение Assert.AreEqual(basket.GetGoods.Count(), 1); Assert.AreEqual(basket.GetGoods.ToList()[0].Book.BookId, 1); }
//после добавление товара в корзинну - происходит перенаправление на страницу корзины public void Can_Redirect_To_Basket_Page() { //Организация Mock <IBookRepository> mock = new Mock <IBookRepository>(); mock.Setup(m => m.Books).Returns(new List <Book> { new Book { BookId = 1, Name = "Book1", Genre = "Genre1" } }.AsQueryable()); Basket basket = new Basket(); BasketController controller = new BasketController(mock.Object, null); //Действия RedirectToRouteResult redirectToRoute = controller.AddToBasket(basket, 2, "myUrl"); //Утверждение Assert.AreEqual(redirectToRoute.RouteValues["action"], "Index"); Assert.AreEqual(redirectToRoute.RouteValues["returnUrl"], "myUrl"); }
public void CanAddBasketItem_BasketController() { IRepository <Product> products = new MockContext <Product>(); IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Order> orders = new MockContext <Order>(); IRepository <Customer> customers = new MockContext <Customer>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderService(orders); BasketController basketController = new BasketController(basketService, orderService, customers); basketController.ControllerContext = new ControllerContext(httpContext, new RouteData(), basketController); basketController.AddToBasket("1"); Basket basket = baskets.Collection().FirstOrDefault(); Assert.IsNotNull(basketService); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }