mirror of
https://github.com/sstent/foodplanner.git
synced 2026-01-25 19:21:37 +00:00
adding macro details to tracker, changing charts to stacked bar chart of macros
This commit is contained in:
44
tests/test_charts_api.py
Normal file
44
tests/test_charts_api.py
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
import pytest
|
||||
from datetime import date, timedelta
|
||||
from app.database import TrackedDay, TrackedMeal, TrackedMealFood, Meal, MealFood, Food
|
||||
|
||||
class TestChartsData:
|
||||
"""Test charts data API"""
|
||||
|
||||
def test_charts_api_returns_macros(self, client, sample_meal, db_session):
|
||||
"""Test that /api/charts returns protein, fat, and net_carbs"""
|
||||
|
||||
# Create a tracked day with data
|
||||
tracked_day = TrackedDay(person="Sarah", date=date.today(), is_modified=True)
|
||||
db_session.add(tracked_day)
|
||||
db_session.commit()
|
||||
db_session.refresh(tracked_day)
|
||||
|
||||
# Add meal
|
||||
tracked_meal = TrackedMeal(
|
||||
tracked_day_id=tracked_day.id,
|
||||
meal_id=sample_meal.id,
|
||||
meal_time="Breakfast"
|
||||
)
|
||||
db_session.add(tracked_meal)
|
||||
db_session.commit()
|
||||
|
||||
# Fetch chart data
|
||||
response = client.get("/api/charts?person=Sarah&days=7")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert len(data) > 0
|
||||
|
||||
# Check fields
|
||||
item = data[0]
|
||||
assert "date" in item
|
||||
assert "calories" in item
|
||||
assert "protein" in item
|
||||
assert "fat" in item
|
||||
assert "net_carbs" in item
|
||||
|
||||
# Check values (protein > 0 based on sample_meal)
|
||||
assert item["protein"] >= 0
|
||||
assert item["fat"] >= 0
|
||||
assert item["net_carbs"] >= 0
|
||||
Reference in New Issue
Block a user