示例#1
0
        public void Can_Add_New_Lines()
        {
            var game1 = new Game {GameId = 1, Name = "Игра1"};
            var game2 = new Game {GameId = 2, Name = "Игра2"};

            var cart = new Cart();

            cart.AddItem(game1, 1);
            cart.AddItem(game2, 1);
            var results = cart.Lines.ToList();

            Assert.AreEqual(results.Count(), 2);
            Assert.AreEqual(results[0].Game, game1);
            Assert.AreEqual(results[1].Game, game2);
        }
示例#2
0
        public void Calculate_Cart_Total()
        {
            var game1 = new Game {GameId = 1, Name = "Игра1", Price = 100};
            var game2 = new Game {GameId = 2, Name = "Игра2", Price = 50};

            var cart = new Cart();

            cart.AddItem(game1, 1);
            cart.AddItem(game2, 1);
            cart.AddItem(game1, 5);

            var result = cart.ComputeTotalValue();

            Assert.AreEqual(result, 650);
        }
示例#3
0
        public void Can_Add_Quantity_For_Existing_Lines()
        {
            var game1 = new Game {GameId = 1, Name = "Игра1"};
            var game2 = new Game {GameId = 2, Name = "Игра2"};

            var cart = new Cart();

            cart.AddItem(game1, 1);
            cart.AddItem(game2, 1);
            cart.AddItem(game1, 5);
            var results = cart.Lines.OrderBy(c => c.Game.GameId).ToList();

            Assert.AreEqual(results.Count(), 2);
            Assert.AreEqual(results[0].Quantity, 6);
            Assert.AreEqual(results[1].Quantity, 1);
        }
        public RedirectToRouteResult AddToCart(Cart cart, int gameId, string returnUrl)
        {
            var game = _repository.Games.FirstOrDefault(g => g.GameId == gameId);

            if (game != null)
                cart.AddItem(game, 1);

            return RedirectToAction("Index", new {returnUrl});
        }
示例#5
0
        public void Can_Clear_Cart()
        {
            var game1 = new Game {GameId = 1, Name = "Игра1", Price = 100};
            var game2 = new Game {GameId = 2, Name = "Игра2", Price = 55};

            var cart = new Cart();

            cart.AddItem(game1, 1);
            cart.AddItem(game2, 1);
            cart.AddItem(game1, 5);
            cart.Clear();

            Assert.AreEqual(cart.Lines.Count(), 0);
        }
示例#6
0
        public void Can_Remove_Line()
        {
            var game1 = new Game {GameId = 1, Name = "Игра1"};
            var game2 = new Game {GameId = 2, Name = "Игра2"};
            var game3 = new Game {GameId = 3, Name = "Игра3"};

            var cart = new Cart();

            cart.AddItem(game1, 1);
            cart.AddItem(game2, 4);
            cart.AddItem(game3, 2);
            cart.AddItem(game2, 1);

            cart.RemoveLine(game2);

            Assert.AreEqual(cart.Lines.Count(c => c.Game == game2), 0);
            Assert.AreEqual(cart.Lines.Count(), 2);
        }