add tests for input handling

This commit is contained in:
Pablo Martin 2025-05-26 14:21:48 +02:00
parent 6139856a3c
commit 048d6833b4

View file

@ -125,3 +125,43 @@ def test_handle_input_rates_start_and_end_date_equal_works_fine():
for key in expected_result.keys(): for key in expected_result.keys():
assert handled_inputs[key] == expected_result[key] assert handled_inputs[key] == expected_result[key]
def test_handle_input_rates_with_pairs_works_fine():
handled_inputs = handle_get_rates_inputs(
start_date=datetime.datetime.now(),
end_date=datetime.datetime.now(),
pairs="USDEUR,EURUSD,GBPZAR",
dry_run=False,
rates_source="mock",
ignore_warnings=True,
output="test_output.csv",
)
expected_result = {
"date_range": DateRange(
start_date=datetime.datetime.now().date(),
end_date=datetime.datetime.now().date(),
),
"pairs": {"Pending real object"},
"dry_run": False,
"rates_source": "mock",
"ignore_warnings": True,
"output": pathlib.Path("test_output.csv"),
}
for key in expected_result.keys():
assert handled_inputs[key] == expected_result[key]
def test_handle_input_rates_raises_with_both_currencies_and_pairs():
with pytest.raises(ValueError):
handle_get_rates_inputs(
start_date=datetime.datetime.now(),
end_date=datetime.datetime.now(),
currencies="EUR,USD,ZAR",
pairs="USDEUR,EURUSD,GBPZAR",
dry_run=False,
rates_source="mock",
ignore_warnings=True,
output="test_output.csv",
)