added tests

This commit is contained in:
Jan Felix Wiebe 2025-07-09 22:18:21 +02:00
parent 4e359cf3ef
commit cbe9369712
9 changed files with 960 additions and 150 deletions

View file

@ -2,13 +2,14 @@ from typing import List, Optional
import uuid
from datetime import datetime
from models import Order, Drink
from websocket_manager import websocket_manager
class OrderDatabase:
def __init__(self):
self.orders: dict[str, Order] = {}
def create_order(self, drinks: List[Drink]) -> Order:
async def create_order(self, drinks: List[Drink]) -> Order:
"""Create a new order with the given drinks."""
order_id = str(uuid.uuid4())
order = Order(
@ -17,6 +18,10 @@ class OrderDatabase:
drinks=drinks
)
self.orders[order_id] = order
# WebSocket-Broadcast für neue Bestellung
await websocket_manager.broadcast_order_created(order.model_dump())
return order
def get_all_orders(self) -> List[Order]:
@ -27,10 +32,14 @@ class OrderDatabase:
"""Get a specific order by ID."""
return self.orders.get(order_id)
def delete_order(self, order_id: str) -> bool:
async def delete_order(self, order_id: str) -> bool:
"""Delete an order by ID. Returns True if successful, False if not found."""
if order_id in self.orders:
del self.orders[order_id]
# WebSocket-Broadcast für gelöschte Bestellung
await websocket_manager.broadcast_order_deleted(order_id)
return True
return False