Consumed meal fixes
This commit is contained in:
parent
dc83b0da9b
commit
407d649d99
2 changed files with 4 additions and 8 deletions
10
main.py
10
main.py
|
|
@ -229,17 +229,13 @@ async def update_meal(meal_id: int, meal: meals.Meal, conn: sqlite3.Connection =
|
||||||
|
|
||||||
return await get_meal(meal_id, conn)
|
return await get_meal(meal_id, conn)
|
||||||
|
|
||||||
class ConsumedWrapper(BaseModel):
|
|
||||||
meal_id: int
|
|
||||||
consumed_date: Optional[datetime.datetime] = None
|
|
||||||
|
|
||||||
@app.post("/meals/{meal_id}/consumed")
|
@app.post("/meals/{meal_id}/consumed")
|
||||||
async def mark_consumed(body: ConsumedWrapper, conn: sqlite3.Connection = Depends(get_db), person: persons.Person = Depends(cookie_person)) -> meals.Meal:
|
async def mark_consumed(meal_id: int, consumed_date: Optional[datetime.datetime] = None, conn: sqlite3.Connection = Depends(get_db), person: persons.Person = Depends(cookie_person)) -> meals.Meal:
|
||||||
meal = await meals.find_meal_by_id(conn, body.meal_id)
|
meal = await meals.find_meal_by_id(conn, meal_id)
|
||||||
if not meal:
|
if not meal:
|
||||||
return JSONResponse(status_code=404, content={'message': 'Meal not found'})
|
return JSONResponse(status_code=404, content={'message': 'Meal not found'})
|
||||||
|
|
||||||
await meals.mark_consumed(conn, meal, body.consumed_date or datetime.datetime.now())
|
await meals.mark_consumed(conn, meal, consumed_date or datetime.datetime.now())
|
||||||
await conn.commit()
|
await conn.commit()
|
||||||
return meal
|
return meal
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@ class TestMeals(unittest.IsolatedAsyncioTestCase):
|
||||||
self.assertIsInstance(meal_by_id, meals.Meal, msg=meal_by_id.body if hasattr(meal_by_id, 'body') else meal_by_id)
|
self.assertIsInstance(meal_by_id, meals.Meal, msg=meal_by_id.body if hasattr(meal_by_id, 'body') else meal_by_id)
|
||||||
self.assertIsNone(meal_by_id.consumed_date)
|
self.assertIsNone(meal_by_id.consumed_date)
|
||||||
|
|
||||||
updated_meal = await main.mark_consumed(main.ConsumedWrapper(meal_id=meal.id), self.conn)
|
updated_meal = await main.mark_consumed(meal_id=meal.id, conn=self.conn)
|
||||||
self.assertIsNotNone(updated_meal)
|
self.assertIsNotNone(updated_meal)
|
||||||
self.assertIsInstance(updated_meal, meals.Meal, msg=updated_meal.body if hasattr(updated_meal, 'body') else updated_meal)
|
self.assertIsInstance(updated_meal, meals.Meal, msg=updated_meal.body if hasattr(updated_meal, 'body') else updated_meal)
|
||||||
self.assertIsNotNone(updated_meal.consumed_date)
|
self.assertIsNotNone(updated_meal.consumed_date)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue