public void ChefBL_ApprovedOrderMarkedCompletedTest()
        {
            List<Contracts.FoodItem> foodItem = new List<Contracts.FoodItem>()
            {
                new Contracts.FoodItem(){ DishName="Chicken Biryani", ItemQty =4},
                new Contracts.FoodItem(){ DishName="Soup", ItemQty=5}
            };

            Contracts.AddOrder order = new Contracts.AddOrder();
            order.TableNumber = "T01";
            order.Items = foodItem;

            List<string> lstExpectedTableId = new List<string>();
            lstExpectedTableId.Add("T01");

            string expectedOrderStatus = "Ready";
            string expectedOrderCompleteResult = "Ready";

            WaiterBL waiter = new WaiterBL(fakeRestaurantContext);
            waiter.PlaceOrder(order);

            ChefBL chef = new ChefBL(fakeRestaurantContext);
            chef.ApproveOrder("1");

            string actualOrderCompleteResult = chef.MarkOrderAsComplete("1");

            NUnit.Framework.Assert.AreEqual(expectedOrderCompleteResult, actualOrderCompleteResult);

            VerifyResults(lstExpectedTableId, expectedOrderStatus, fakeRestaurantContext);
        }
        public void ChefBL_ApprovedOrderDeclined_InvalidTest()
        {
            List<Contracts.FoodItem> foodItem = new List<Contracts.FoodItem>()
            {
                new Contracts.FoodItem(){ DishName="Chicken Biryani", ItemQty =4},
                new Contracts.FoodItem(){ DishName="Soup", ItemQty=5}
            };

            Contracts.AddOrder order = new Contracts.AddOrder();
            order.TableNumber = "T01";
            order.Items = foodItem;

            List<string> lstExpectedTableId = new List<string>();
            lstExpectedTableId.Add("T01");

            string expectedOrderStatus = "Approved";
            string expectedApprovedOrderResult = "Cannot Decline the Order as the order is : Approved";

            WaiterBL waiter = new WaiterBL(fakeRestaurantContext);
            waiter.PlaceOrder(order);

            ChefBL chef = new ChefBL(fakeRestaurantContext);
            chef.ApproveOrder("1");

            string actualApprovedOrderResult = chef.DeclineOrder("1");

            NUnit.Framework.Assert.AreEqual(expectedApprovedOrderResult, actualApprovedOrderResult);

            VerifyResults(lstExpectedTableId, expectedOrderStatus, fakeRestaurantContext);
        }
        public void WaiterBL_PlaceOrderTest()
        {
            List<Contracts.FoodItem> foodItem = new List<Contracts.FoodItem>()
            {
                new Contracts.FoodItem(){ DishName="Chicken Biryani", ItemQty =4},
                new Contracts.FoodItem(){ DishName="Soup", ItemQty=5}
            };

            Contracts.AddOrder order = new Contracts.AddOrder();
            order.TableNumber = "T01";
            order.Items = foodItem;

            List<string> lstExpectedTableId = new List<string>();
            lstExpectedTableId.Add("T01");

            string expectedOrderStatus = "New";

            WaiterBL waiter = new WaiterBL(fakeRestaurantContext);
            waiter.PlaceOrder(order);

            VerifyResults(lstExpectedTableId, expectedOrderStatus, fakeRestaurantContext);
        }
        public void WaiterBL_InvalidOrderTest()
        {
            Contracts.AddOrder order = new Contracts.AddOrder();

            List<string> lstExpectedTableId = new List<string>();
            lstExpectedTableId.Add("T01");

            string expectedOrderStatus = "New";

            WaiterBL waiter = new WaiterBL(fakeRestaurantContext);
            waiter.PlaceOrder(order);

            VerifyResults(lstExpectedTableId, expectedOrderStatus, fakeRestaurantContext);
        }