added tests
This commit is contained in:
parent
4e359cf3ef
commit
cbe9369712
9 changed files with 960 additions and 150 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue