diff --git a/templates/tracker.html b/templates/tracker.html
index 26a25bf..6133a01 100644
--- a/templates/tracker.html
+++ b/templates/tracker.html
@@ -76,18 +76,27 @@
-
+
{% for meal_food in tracked_meal.meal.meal_foods %}
{% set effective_quantity = meal_food.quantity * tracked_meal.quantity %}
-
- • {{ meal_food.food.name }}: {{ "%.1f"|format(effective_quantity) }} {{ meal_food.food.serving_unit }}
- {% if meal_food.food.serving_size %}
- ({{ meal_food.food.serving_size }})
- {% endif %}
+
+
+ • {{ meal_food.food.name }}
+
+
+
+
+ {{ "%.1f"|format(effective_quantity) }} {{ meal_food.food.serving_unit }}
+ {% if meal_food.food.serving_size %}
+ ({{ meal_food.food.serving_size }})
+ {% endif %}
+
{% endfor %}
{% if not tracked_meal.meal.meal_foods %}
-
No foods in this meal
+
+
No foods in this meal
+
{% endif %}
diff --git a/tests/test_tracker.py b/tests/test_tracker.py
index 875980e..5a91b11 100644
--- a/tests/test_tracker.py
+++ b/tests/test_tracker.py
@@ -31,22 +31,22 @@ class TestTrackerRoutes:
"person": "Sarah",
"date": test_date,
"meal_id": str(sample_meal.id),
- "meal_time": "Breakfast",
- "quantity": "1.5"
+ "meal_time": "Breakfast"
})
assert response.status_code == 200
data = response.json()
assert data["status"] == "success"
- def test_tracker_add_meal_default_quantity(self, client, sample_meal):
- """Test adding meal with default quantity"""
- test_date = date.today().isoformat()
- response = client.post("/tracker/add_meal", data={
- "person": "Stuart",
- "date": test_date,
- "meal_id": str(sample_meal.id),
- "meal_time": "Lunch"
- })
+ # This test is no longer relevant as quantity is always 1.0
+ # def test_tracker_add_meal_default_quantity(self, client, sample_meal):
+ # """Test adding meal with default quantity"""
+ # test_date = date.today().isoformat()
+ # response = client.post("/tracker/add_meal", data={
+ # "person": "Stuart",
+ # "date": test_date,
+ # "meal_id": str(sample_meal.id),
+ # "meal_time": "Lunch"
+ # })
assert response.status_code == 200
data = response.json()
assert data["status"] == "success"
@@ -394,3 +394,37 @@ class TestTrackerAddFood:
assert len(tracked_meal.meal.meal_foods) == 1
assert tracked_meal.meal.meal_foods[0].food_id == sample_food.id
assert tracked_meal.meal.meal_foods[0].quantity == 100.0
+
+
+ def test_add_food_to_tracker_with_meal_time(self, client, sample_food, db_session):
+ """Test POST /tracker/add_food with a specific meal time"""
+
+ tracked_day = TrackedDay(person="Sarah", date=date.today(), is_modified=False)
+ db_session.add(tracked_day)
+ db_session.commit()
+ db_session.refresh(tracked_day)
+
+ response = client.post("/tracker/add_food", json={
+ "person": "Sarah",
+ "date": date.today().isoformat(),
+ "food_id": sample_food.id,
+ "quantity": 150.0,
+ "meal_time": "Dinner"
+ })
+ assert response.status_code == 200
+ data = response.json()
+ assert data["status"] == "success"
+
+ tracked_meals = db_session.query(TrackedMeal).filter(
+ TrackedMeal.tracked_day_id == tracked_day.id,
+ TrackedMeal.meal_time == "Dinner"
+ ).all()
+ assert len(tracked_meals) == 1
+
+ tracked_meal = tracked_meals[0]
+ assert tracked_meal.meal.name == sample_food.name
+ assert tracked_meal.quantity == 1.0
+
+ assert len(tracked_meal.meal.meal_foods) == 1
+ assert tracked_meal.meal.meal_foods[0].food_id == sample_food.id
+ assert tracked_meal.meal.meal_foods[0].quantity == 150.0