public void AddOrdersForTableByWorker_persists_data_by_calling_save_changes_on_db_context() { var menu = new List <MenuItem>(); menu.Add(new MenuItem() { ID = 1, DisplayName = "menu item", Price = 19.95, Kind = MenuItemKind.MEAL }); var numSaveCalls = 0; var mockContext = new MockDBContextFactory().WithBuiltinMenuItems(menu).WithSaveChangesCallback(() => ++ numSaveCalls).Create(); var repository = new RestourantRepository(mockContext); var orders = new List <Models.SubmittedOrderItem>(); orders.Add(new Models.SubmittedOrderItem() { MenuItemID = menu[0].ID, Quantity = 1 }); repository.AddOrdersForTableByWorker(orders, 1, EmployeeRole.WAITER); Assert.AreEqual(1, numSaveCalls); Assert.AreEqual(menu[0].ID, mockContext.OrdersWithMenu.First().Item.ID); }
public void AddOrdersForTableByWorker_failes_when_invalid_order_id_specified() { var menu = new List <MenuItem>(); menu.Add(new MenuItem() { ID = 1, DisplayName = "menu item", Price = 19.99, Kind = MenuItemKind.DRINK }); var mockContext = new MockDBContextFactory().WithBuiltinMenuItems(menu).Create(); var repository = new RestourantRepository(mockContext); var orders = new List <Models.SubmittedOrderItem>(); orders.Add(new Models.SubmittedOrderItem() { MenuItemID = 15, Quantity = 1 }); repository.AddOrdersForTableByWorker(orders, 1, EmployeeRole.WAITER); }