def test_get_tax_rates_for_country_without_reduced_rates( vat_without_reduced_rates): country_code = vat_without_reduced_rates.country_code tax_rates = utils.get_tax_rates_for_country(country_code) assert tax_rates['country_name'] == 'Austria' assert tax_rates['standard_rate'] == 20 assert tax_rates['reduced_rates'] is None
def get_taxes_for_country(country): tax_rates = get_tax_rates_for_country(country.code) if tax_rates is None: return None taxes = {DEFAULT_TAX_RATE_NAME: { 'value': tax_rates['standard_rate'], 'tax': get_tax_for_rate(tax_rates)}} if tax_rates['reduced_rates']: taxes.update({ rate_name: { 'value': tax_rates['reduced_rates'][rate_name], 'tax': get_tax_for_rate(tax_rates, rate_name)} for rate_name in tax_rates['reduced_rates']}) return taxes
def get_taxes_for_country(country): tax_rates = get_tax_rates_for_country(country.code) if tax_rates is None: return None taxes = { DEFAULT_TAX_RATE_NAME: { "value": tax_rates["standard_rate"], "tax": get_tax_for_rate(tax_rates), } } if tax_rates["reduced_rates"]: taxes.update({ rate_name: { "value": tax_rates["reduced_rates"][rate_name], "tax": get_tax_for_rate(tax_rates, rate_name), } for rate_name in tax_rates["reduced_rates"] }) return taxes
def test_get_tax_rates_for_country(vat_country): country_code = vat_country.country_code tax_rates = utils.get_tax_rates_for_country(country_code) assert tax_rates['country_name'] == 'Austria' assert tax_rates['standard_rate'] == 20 assert tax_rates['reduced_rates'] == {'books': 10, 'foodstuffs': 10}
def test_get_tax_rates_for_country_invalid_code(): tax_rates = utils.get_tax_rates_for_country('XX') assert tax_rates is None