diff --git a/tests/tests_unit/test_input_handling.py b/tests/tests_unit/test_input_handling.py index 03d9c26..0b8da9c 100644 --- a/tests/tests_unit/test_input_handling.py +++ b/tests/tests_unit/test_input_handling.py @@ -14,6 +14,7 @@ def test_handle_input_rates_works_with_full_correct_inputs(): end_date=datetime.datetime.now() - datetime.timedelta(days=1), currencies="USD,EUR,GBP", dry_run=False, + rates_source="mock", ignore_warnings=True, output="test_output.csv", ) @@ -24,6 +25,7 @@ def test_handle_input_rates_works_with_full_correct_inputs(): ), "currencies": {Currency("USD"), Currency("EUR"), Currency("GBP")}, "dry_run": False, + "rates_source": "mock", "ignore_warnings": True, "output": pathlib.Path("test_output.csv"), } @@ -40,6 +42,20 @@ def test_handle_input_rates_raises_with_bad_currency_code(): end_date=datetime.datetime.now() + datetime.timedelta(days=7), currencies="not_a_currency,USD,not_this_either", dry_run=False, + rates_source="mock", + ignore_warnings=True, + output="test_output.csv", + ) + + +def test_handle_input_rates_raises_with_invalid_rates_source(): + with pytest.raises(ValueError): + handle_get_rates_inputs( + start_date=datetime.datetime.now(), + end_date=datetime.datetime.now() + datetime.timedelta(days=7), + currencies="not_a_currency,USD,not_this_either", + dry_run=False, + rates_source="clearly not a rates source. I guess, dunno.", ignore_warnings=True, output="test_output.csv", ) @@ -52,6 +68,7 @@ def test_handle_input_rates_raises_with_start_date_after_end_date(): end_date=datetime.datetime.now() - datetime.timedelta(days=7), currencies="GBP,USD", dry_run=False, + rates_source="mock", ignore_warnings=True, output="test_output.csv", ) @@ -64,6 +81,7 @@ def test_handle_input_rates_raises_with_output_different_than_csv(): end_date=datetime.datetime.now() + datetime.timedelta(days=7), currencies="GBP,USD", dry_run=False, + rates_source="mock", ignore_warnings=True, output="test_output.xlsx", ) @@ -75,6 +93,7 @@ def test_handle_input_rates_brings_future_end_date_to_today(): end_date=datetime.datetime.now() + datetime.timedelta(days=7), currencies="USD,EUR,GBP", dry_run=False, + rates_source="mock", ignore_warnings=True, output="test_output.csv", ) @@ -88,6 +107,7 @@ def test_handle_input_rates_start_and_end_date_equal_works_fine(): end_date=datetime.datetime.now(), currencies="USD,EUR,GBP", dry_run=False, + rates_source="mock", ignore_warnings=True, output="test_output.csv", ) @@ -98,6 +118,7 @@ def test_handle_input_rates_start_and_end_date_equal_works_fine(): ), "currencies": {Currency("USD"), Currency("EUR"), Currency("GBP")}, "dry_run": False, + "rates_source": "mock", "ignore_warnings": True, "output": pathlib.Path("test_output.csv"), } diff --git a/xexe/cli.py b/xexe/cli.py index 5403cb4..dbed5d8 100644 --- a/xexe/cli.py +++ b/xexe/cli.py @@ -74,7 +74,7 @@ def get_rates( end_date: Union[str, datetime.datetime, datetime.date], currencies: Union[None, str], dry_run: bool, - rates_sources: str, + rates_source: str, ignore_warnings: bool, output: pathlib.Path, ): @@ -83,7 +83,7 @@ def get_rates( end_date=end_date, currencies=currencies, dry_run=dry_run, - rates_sources=rates_sources, + rates_source=rates_source, ignore_warnings=ignore_warnings, output=output, ) diff --git a/xexe/processes.py b/xexe/processes.py index bcb58a2..a6b5375 100644 --- a/xexe/processes.py +++ b/xexe/processes.py @@ -56,6 +56,7 @@ def run_get_rates( date_range: DateRange, currencies: List[Currency], dry_run: bool, + rates_source: str, ignore_warnings: bool, output: pathlib.Path, ) -> None: