private async Task TestNutritionixGetCalories(string description, int expectedRes) { var res = expectedRes; if (_useNutritionixInTests) { res = await NutritionixUtils.GetCaloriesIntAsync("62031f66", "aa0049adb09f7397e00c630db7952cf6", description); } Assert.Equal(res, expectedRes); }
private async Task <string> ValidateMealAsync(User apiUser, Meal meal) { //Console.WriteLine($"# # # ValidateMeal: meal.UserId={meal.UserId} apiUser.Id={apiUser.Id}"); if (meal.UserId < 1) { meal.UserId = apiUser.Id; } else if (_context.Users.Find(meal.UserId) == null) { return($"Invalid UserId={meal.UserId}"); } if (meal.Date.IsDefault() && meal.Time.IsDefault()) { meal.Date = meal.Time = DateTime.Now; } else if (meal.Time.IsDefault()) { meal.Time = meal.Date; } else if (meal.Date.IsDefault()) { meal.Date = meal.Time; } else if (meal.Time.Date != meal.Date.Date) { meal.Time = meal.Date.Date + meal.Time.TimeOfDay; } meal.Date = meal.Date.Date; meal.Time = meal.Time.TruncToSecond(); if (meal.Description == null || meal.Description.Trim().Length < 1) { meal.Description = null; } if (meal.Calories < 1) { if (string.IsNullOrEmpty(meal.Description)) { return("Description must be set if calories are unset"); } var xAppId = _configuration.GetValue <string>("Nutritionix:x-app-id"); var xAppKey = _configuration.GetValue <string>("Nutritionix:x-app-key"); meal.Calories = await NutritionixUtils.GetCaloriesIntAsync(xAppId, xAppKey, meal.Description); if (meal.Calories < 1) { return("Calorie Service request failed, please enter calories or simplify description"); } } return(null); }