whFalsa / tests /test_trip_selection.py
codeBOKER's picture
Fix trip seat filtering and enable null seats display
64075d7
Raw
History Blame Contribute Delete
3.11 kB
from app.whatsapp.trip_selection import format_trip_card
def test_format_trip_card():
trip = {
"id": "trip-1",
"departure": "صنعاء",
"destination": "تعز",
"departure_date": "2026-12-01",
"departure_time": "noon",
"available_seats": 3,
"total_seats": 4,
"price": 5000,
"driver_cars": [{"car_type": "باص"}],
"drivers": [{"name": "أحمد"}],
"selection_count": 2,
}
card = format_trip_card(trip)
assert "صنعاء" in card
assert "تعز" in card
assert "2026-12-01" in card
assert "ظهرا" in card
assert "3 من 4" in card
assert "5000" in card
assert "باص" in card
assert "أحمد" in card
assert "2" in card
def test_format_trip_card_driver_message():
trip = {
"id": "trip-1",
"departure": "صنعاء",
"destination": "تعز",
"departure_date": "2026-12-01",
"departure_time": "noon",
"available_seats": 3,
"total_seats": 4,
"price": 5000,
"driver_cars": [{"car_type": "باص"}],
"drivers": [{"name": "أحمد"}],
"use_driver_message": True,
"driver_message": "باص من صنعاء الى تعز 😊😊😊",
}
card = format_trip_card(trip)
assert card == "باص من صنعاء الى تعز 😊😊😊"
assert "صنعاء ← إلى" not in card
def test_format_trip_card_driver_message_flag_false():
trip = {
"id": "trip-1",
"departure": "صنعاء",
"destination": "تعز",
"departure_date": "2026-12-01",
"departure_time": "noon",
"available_seats": 3,
"total_seats": 4,
"price": 5000,
"driver_cars": [{"car_type": "باص"}],
"drivers": [{"name": "أحمد"}],
"use_driver_message": False,
"driver_message": "باص من صنعاء الى تعز 😊😊😊",
}
card = format_trip_card(trip)
assert "صنعاء ← إلى" in card
def test_format_trip_card_driver_message_empty():
trip = {
"id": "trip-1",
"departure": "صنعاء",
"destination": "تعز",
"departure_date": "2026-12-01",
"departure_time": "noon",
"available_seats": 3,
"total_seats": 4,
"price": 5000,
"driver_cars": [{"car_type": "باص"}],
"drivers": [{"name": "أحمد"}],
"use_driver_message": True,
"driver_message": "",
}
card = format_trip_card(trip)
assert "صنعاء ← إلى" in card
def test_format_trip_card_null_seats():
trip = {
"id": "trip-1",
"departure": "صنعاء",
"destination": "تعز",
"departure_date": "2026-12-01",
"departure_time": "noon",
"available_seats": None,
"total_seats": None,
"price": 5000,
"driver_cars": [{"car_type": "باص"}],
"drivers": [{"name": "أحمد"}],
}
card = format_trip_card(trip)
assert "غير متوفرة" in card
assert "المقاعد:" in card