public void GetOpenOrdersForKind_returns_empty_results_when_no_unfulfilled_orders_of_specified_kind()
        {
            var menu = new List <MenuItem>();

            menu.Add(new MenuItem()
            {
                ID          = 1,
                DisplayName = "test menu item",
                Kind        = MenuItemKind.DRINK,
                Price       = 10.00
            });

            var orders = new List <OrderItem>();

            orders.Add(new OrderItem()
            {
                ID        = 5,
                Item      = menu[0],
                Quantity  = 2,
                Delivered = true
            });

            var mockContext = new MockDBContextFactory().WithBuiltinMenuItems(menu).WithBuiltinOrderItems(orders).Create();

            var repository = new RestourantRepository(mockContext);

            var openOrders = repository.GetOpenOrdersForKind(MenuItemKind.DRINK);

            Assert.AreEqual(0, openOrders.Count());
        }
        public void GetOpenOrdersForKind_returns_one_order_that_matches()
        {
            var menu = new List <MenuItem>();

            menu.Add(new MenuItem()
            {
                ID          = 1,
                DisplayName = "test menu item",
                Kind        = MenuItemKind.DRINK,
                Price       = 10.00
            });

            var orders = new List <OrderItem>();

            orders.Add(new OrderItem()
            {
                ID        = 5,
                Item      = menu[0],
                Quantity  = 2,
                Delivered = true
            });
            orders.Add(new OrderItem()
            {
                ID        = 8,
                Item      = menu[0],
                Quantity  = 2,
                Delivered = false
            });

            var mockContext = new MockDBContextFactory().WithBuiltinMenuItems(menu).WithBuiltinOrderItems(orders).Create();

            var repository = new RestourantRepository(mockContext);

            var openOrders = repository.GetOpenOrdersForKind(MenuItemKind.DRINK);

            Assert.AreEqual(1, openOrders.Count());
            Assert.AreEqual(8, openOrders.First().ID);
        }