Coverage for classes/currency_manager.py: 100%
12 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-11-30 23:17 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-11-30 23:17 +0000
1from decimal import Decimal, ROUND_HALF_UP
2from config.database import Database
4class CurrencyManager:
5 @staticmethod
6 def convert_currency(monto, divisa_origen, divisa_destino):
7 conversion_rates = Database.conversion_rates()
9 if divisa_origen in conversion_rates and divisa_destino in conversion_rates[divisa_origen]:
10 tasa_conversion = Decimal(conversion_rates[divisa_origen][divisa_destino]).quantize(
11 Decimal('0.0001'), rounding=ROUND_HALF_UP)
12 monto_decimal = Decimal(str(monto)).quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
13 monto_convertido = (monto_decimal * tasa_conversion).quantize(
14 Decimal('0.01'), rounding=ROUND_HALF_UP)
15 return tasa_conversion, monto_convertido
16 return None, None