def test_get_meal_numbers(self): """Check if correct number of meals are returned""" nums = self.trip.get_meal_numbers() self.assertEqual(nums['total_meals'], 7) self.assertEqual(nums['Breakfast'], 2) self.assertEqual(nums['Lunch'], 3) self.assertEqual(nums['Dinner'], 2) short_trip = Trip(start_date_time=datetime(2020, 4, 10, 10, 00), end_date_time=datetime(2020, 4, 11, 9, 00), number_of_people=3, name="short", user_id=self.user.id) db.session.add(short_trip) db.session.commit() nums = short_trip.get_meal_numbers() self.assertEqual(nums['total_meals'], 3)
class TripMealTests(TestCase): def setUp(self): """Set up a User and a new Trip""" self.user = User(username="******", password="******", email="*****@*****.**", first_name="john", last_name="smith", guest=False) db.session.add(self.user) db.session.commit() self.trip = Trip(start_date_time=datetime(2020, 4, 8, 10, 00), end_date_time=datetime(2020, 4, 10, 15, 00), number_of_people=3, name="TestTrip", user_id=self.user.id) db.session.add(self.trip) db.session.commit() tm1 = TripMeal(trip_id=self.trip.id, meal_id=1) tm2 = TripMeal(trip_id=self.trip.id, meal_id=1) tm3 = TripMeal(trip_id=self.trip.id, meal_id=2) tm4 = TripMeal(trip_id=self.trip.id, meal_id=2) tm5 = TripMeal(trip_id=self.trip.id, meal_id=2) tm6 = TripMeal(trip_id=self.trip.id, meal_id=3) tm7 = TripMeal(trip_id=self.trip.id, meal_id=3) db.session.add_all([tm1, tm2, tm3, tm4, tm5, tm6, tm7]) db.session.commit() def tearDown(self): TripMeal.query.delete() Trip.query.delete() User.query.delete() db.session.commit() def test_get_bc_days(self): """Check if correct number of days are returned""" self.assertEqual(self.trip.get_bc_days(), 1) def test_get_meal_numbers(self): """Check if correct number of meals are returned""" nums = self.trip.get_meal_numbers() self.assertEqual(nums['total_meals'], 7) self.assertEqual(nums['Breakfast'], 2) self.assertEqual(nums['Lunch'], 3) self.assertEqual(nums['Dinner'], 2) short_trip = Trip(start_date_time=datetime(2020, 4, 10, 10, 00), end_date_time=datetime(2020, 4, 11, 9, 00), number_of_people=3, name="short", user_id=self.user.id) db.session.add(short_trip) db.session.commit() nums = short_trip.get_meal_numbers() self.assertEqual(nums['total_meals'], 3) def test_get_total_ingredient_weights(self): """Check if ingredients weghts are totaled correctly""" weights = self.trip.get_total_ingredient_weights() self.assertEqual(weights['OATS'], 1428.84) self.assertEqual(weights['PINTO BEANS'], 476.28) self.assertEqual(weights['BROWN SUGAR'], 238.14) def test_get_total_food_weight(self): """Check it total food weight in lbs is given correctly""" total = self.trip.get_total_food_weight() self.assertEqual(total, 14.67) def test_get_ingredient_weights(self): """Check if the meal weight is distributed to ingredients in the correct proportions""" meal = Meal.query.get(1) w = meal.get_ingredient_weights() self.assertEqual(w['OATS'], 238.14) self.assertEqual(w['RAISINS'], 39.69) self.assertEqual(w['BROWN SUGAR'], 39.69) def test_get_total_nutrition_data(self): """Check if the nutrition data per meal is correct""" meal = Meal.query.get(1) n = meal.get_total_nutrition_data() self.assertEqual(n['fiber'], 25.79) self.assertEqual(n['fat'], 14.88) self.assertEqual(n['calories'], 1144.26) self.assertEqual(n['sodium'], 0)