Fixed up the damm tests
This commit is contained in:
@@ -21,7 +21,7 @@ from .db import (
|
||||
SessionMaker,
|
||||
)
|
||||
from .logging_config import get_logger
|
||||
from .schemas import ConversionGuestData
|
||||
from .schemas import ConversionData, ConversionGuestData
|
||||
|
||||
_LOGGER = get_logger(__name__)
|
||||
|
||||
@@ -552,7 +552,7 @@ class ConversionService:
|
||||
pms_reservation_id if successfully created/updated, None if error occurred
|
||||
|
||||
"""
|
||||
pms_reservation_id = reservation_elem.get("id")
|
||||
pms_reservation_id = int(reservation_elem.get("id"))
|
||||
|
||||
async with semaphore:
|
||||
# In concurrent mode, create a new session for this task
|
||||
@@ -652,9 +652,15 @@ class ConversionService:
|
||||
"daily_sales_count": 0,
|
||||
}
|
||||
|
||||
# Extract reservation metadata
|
||||
hotel_id = reservation_elem.get("hotelID")
|
||||
pms_reservation_id = reservation_elem.get("id")
|
||||
try:
|
||||
# Extract reservation metadata
|
||||
|
||||
pms_reservation_id = int(reservation_elem.get("id"))
|
||||
except ValueError as e:
|
||||
_LOGGER.error("Invalid reservation metadata in reservation element: %s", e)
|
||||
return stats
|
||||
|
||||
reservation_number = reservation_elem.get("number")
|
||||
reservation_date_str = reservation_elem.get("date")
|
||||
creation_time_str = reservation_elem.get("creationTime")
|
||||
@@ -751,11 +757,8 @@ class ConversionService:
|
||||
else:
|
||||
# Create new conversion entry (without matching - will be done later)
|
||||
# Note: Guest information (first_name, last_name, email, etc) is stored in ConversionGuest table
|
||||
conversion = Conversion(
|
||||
conversion_data = ConversionData(
|
||||
# Links to existing entities (nullable, will be filled in after matching)
|
||||
reservation_id=None,
|
||||
customer_id=None,
|
||||
hashed_customer_id=None,
|
||||
# Reservation metadata
|
||||
hotel_id=hotel_id,
|
||||
guest_id=guest_id, # Links to ConversionGuest
|
||||
@@ -770,9 +773,8 @@ class ConversionService:
|
||||
advertising_partner=advertising_partner,
|
||||
advertising_campagne=advertising_campagne,
|
||||
# Metadata
|
||||
created_at=datetime.now(),
|
||||
updated_at=datetime.now(),
|
||||
)
|
||||
conversion = Conversion(**conversion_data.model_dump())
|
||||
session.add(conversion)
|
||||
_LOGGER.debug(
|
||||
"Created conversion (pms_id=%s)",
|
||||
@@ -1503,7 +1505,7 @@ class ConversionService:
|
||||
|
||||
async def _match_conversion_from_db_safe(
|
||||
self,
|
||||
pms_reservation_id: str,
|
||||
pms_reservation_id: int,
|
||||
semaphore: asyncio.Semaphore,
|
||||
stats: dict[str, int],
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user