49 lines
1 KiB
Python
49 lines
1 KiB
Python
from click.testing import CliRunner
|
|
|
|
from xexe.cli import get_rates
|
|
|
|
|
|
def test_get_rates_reads_input_correctly():
|
|
|
|
runner = CliRunner()
|
|
|
|
run_result = runner.invoke(
|
|
get_rates,
|
|
[
|
|
"--start-date",
|
|
"2024-01-01",
|
|
"--end-date",
|
|
"2024-01-02",
|
|
"--currencies",
|
|
"USD,GBP",
|
|
"--output",
|
|
"test_output.csv",
|
|
"--dry-run",
|
|
],
|
|
)
|
|
|
|
assert run_result.exit_code == 0
|
|
|
|
|
|
def test_get_rates_works_with_defaults():
|
|
runner = CliRunner()
|
|
result = runner.invoke(get_rates, ["--output", "test_output.csv"])
|
|
assert result.exit_code == 0
|
|
|
|
|
|
def test_get_rates_breaks_without_output():
|
|
runner = CliRunner()
|
|
result = runner.invoke(get_rates)
|
|
assert result.exit_code == 2
|
|
|
|
|
|
def test_get_rates_replaces_future_dates_properly():
|
|
assert False
|
|
|
|
|
|
def test_get_rates_rejects_start_date_after_end_date():
|
|
assert False
|
|
|
|
|
|
def test_get_rates_rejects_invalid_currency_codes():
|
|
assert False
|