33# SPDX-License-Identifier: MIT
44"""Unit tests for the flight_summary module."""
55
6- import pytest
76from unittest .mock import Mock , MagicMock
8- from datetime import datetime , timezone
7+ from datetime import datetime , timedelta , timezone
8+
9+ import pytest
910
1011from fr24sdk .resources .flight_summary import FlightSummaryResource , _FlightSummaryParams
1112from fr24sdk .models .flight import (
@@ -40,7 +41,9 @@ class TestFlightSummaryParams:
4041 def test_serialize_params (self ):
4142 """Test parameters are correctly serialized for API requests."""
4243 # Test with various parameter types
43- test_datetime = datetime (2023 , 1 , 1 , 12 , 0 , 0 , tzinfo = timezone .utc )
44+ test_datetime = datetime (
45+ 2023 , 1 , 1 , 12 , 0 , 0 , tzinfo = timezone (timedelta (hours = 2 ))
46+ )
4447 params = _FlightSummaryParams (
4548 flight_datetime_from = test_datetime ,
4649 flight_datetime_to = test_datetime ,
@@ -52,8 +55,12 @@ def test_serialize_params(self):
5255 serialized = params ._to_query_dict ()
5356
5457 # Check serialization results
55- assert serialized ["flight_datetime_from" ] == str (test_datetime )
56- assert serialized ["flight_datetime_to" ] == str (test_datetime )
58+ assert serialized ["flight_datetime_from" ] == str (
59+ test_datetime .astimezone (timezone .utc ).replace (tzinfo = None )
60+ )
61+ assert serialized ["flight_datetime_to" ] == str (
62+ test_datetime .astimezone (timezone .utc ).replace (tzinfo = None )
63+ )
5764 assert serialized ["flights" ] == "BA1234,LH5678"
5865 assert serialized ["callsigns" ] == "BAW123"
5966 assert serialized ["aircraft" ] == "B738,A320"
@@ -145,8 +152,9 @@ def test_get_light_success_with_datetime_range(
145152 mock_transport .request .return_value = mock_response
146153
147154 # Call with datetime parameters
148- from_dt = datetime (2023 , 1 , 1 , 0 , 0 , 0 , tzinfo = timezone .utc )
149- to_dt = datetime (2023 , 1 , 1 , 23 , 59 , 59 , tzinfo = timezone .utc )
155+ offset = timezone (timedelta (hours = 2 ))
156+ from_dt = datetime (2023 , 1 , 1 , 0 , 0 , 0 , tzinfo = offset )
157+ to_dt = datetime (2023 , 1 , 1 , 23 , 59 , 59 , tzinfo = offset )
150158
151159 result = flight_summary .get_light (
152160 flight_datetime_from = from_dt , flight_datetime_to = to_dt , airports = ["EGLL" ]
@@ -159,6 +167,8 @@ def test_get_light_success_with_datetime_range(
159167 args , kwargs = mock_transport .request .call_args
160168 assert "flight_datetime_from" in kwargs ["params" ]
161169 assert "flight_datetime_to" in kwargs ["params" ]
170+ assert kwargs ["params" ]["flight_datetime_from" ] == "2022-12-31 22:00:00"
171+ assert kwargs ["params" ]["flight_datetime_to" ] == "2023-01-01 21:59:59"
162172 assert kwargs ["params" ]["airports" ] == "EGLL"
163173
164174 def test_get_full_success (self , flight_summary , mock_transport ):
0 commit comments