def test_exchange_rate_weekend_date(USD_exchange_rates_mock): # set the date on a Sunday, expect fridays rate friday = date(2020, 5, 22) sunday = date(2020, 5, 24) er = ExchangeRate('USD', friday, sunday) expected_rate = er.get_rate(friday) assert er.get_rate(sunday) == expected_rate
def test_exchange_rate_ok_date(USD_exchange_rates_mock): # set the date on a Friday thursday = date(2020, 5, 21) friday = date(2020, 5, 22) er = ExchangeRate('USD', thursday, friday) assert er.get_rate(friday) == Decimal('1.3')
def test_get_rate_before_min_date_exception(USD_exchange_rates_mock): er = ExchangeRate('USD', date(2020, 5, 22), date(2020, 5, 25)) with pytest.raises(ClickException) as excinfo: er.get_rate(date(2017, 1, 2)) assert excinfo.value.message == "Unable to find exchange rate on 2017-01-02" # noqa: E501
def test_cad_to_cad_rate_is_1(): day = date(2020, 5, 22) er = ExchangeRate('CAD', day, day) assert er.get_rate(day) == 1
def test_exchange_rate_noon_and_indicative(USD_exchange_rates_mock): noon_rate_date = date(2016, 5, 21) indicative_rate_date = date(2020, 5, 22) er = ExchangeRate('USD', noon_rate_date, indicative_rate_date) assert er.get_rate(noon_rate_date) == Decimal('1.1') assert er.get_rate(indicative_rate_date) == Decimal('1.3')
def test_exchange_rate_noon_only(USD_exchange_rates_mock): noon_rate_date = date(2016, 5, 21) er = ExchangeRate('USD', noon_rate_date, noon_rate_date) expected_rate = er.get_rate(noon_rate_date) assert expected_rate == Decimal('1.1')