Esempio n. 1
0
        public void CanViewSales()
        {
            //Given
            var store    = new Store();
            var address1 = new Address("test1", "city1");

            store.Address = address1;
            var order1    = new Order();
            var pizza1    = new Standard().Make() as Pizza;
            var pizza2    = new NewYork().Make() as Pizza;
            var pizzaList = new List <ISellable> {
                pizza1, pizza2
            };

            order1.AddToOrderItems(pizzaList);

            var addressedOrder = new AddressedOrder(address1, order1);

            store.StoreOrderHistory.Add(addressedOrder);
            //When
            var expectedTotal = pizza1.Price + pizza2.Price;
            var actual        = store.ViewSales();
            var expected      = new List <Sale> {
                new Sale(order1, addressedOrder.Date, expectedTotal)
            };

            //Then
            Assert.True(actual.Count == expected.Count && expectedTotal == actual[0].Price && expected[0].Date == actual[0].Date);
        }
Esempio n. 2
0
        public void CanViewUsers()
        {
            //Given
            var store    = new Store();
            var address1 = new Address("test1", "city1");

            store.Address = address1;
            var order1         = new Order();
            var addressedOrder = new AddressedOrder(address1, order1);
            var orderUser      = new User();

            orderUser.Name.First     = "test";
            orderUser.Name.Last      = "user";
            addressedOrder.OrderUser = orderUser;
            store.StoreOrderHistory.Add(addressedOrder);

            //When
            var actual   = store.ViewUsers();
            var expected = new List <User> {
                orderUser
            };

            //Then
            Assert.True(expected.All(actual.Contains) && actual.Count == expected.Count);
        }
        public void CanCreateEmptyInstance()
        {
            //Given
            var addressedOrder = new AddressedOrder();

            //When

            //Then
            Assert.NotNull(addressedOrder);
        }
Esempio n. 4
0
        public IActionResult CreateOrder(string addressLine1, List <Topping> toppings, Crust crusts, Size sizes)
        {
            var userId = (int)TempData["UserID"];

            TempData["UserID"] = userId;
            TempData.Keep();

            if (ModelState.IsValid)
            {
                var currentAddress = _db.Addresses.Single(a => a.AddressLine == addressLine1);
                var currentUser    = _db.Users.Single(u => u.UserId == userId);

                AddressedOrder finalOrder = currentUser.StartOrder(currentAddress);
                currentUser.AddToOrder("Standard", toppings, crusts, sizes);
                currentUser.FinishOrder();

                _db.AddressedOrders.Add(finalOrder);
                _db.SaveChanges();

                return(RedirectToAction("userhome", "user", currentUser));
            }
            return(View());
        }