Coverage for classes/currency_manager.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.8, created at 2024-11-30 23:18 +0000

1from decimal import Decimal, ROUND_HALF_UP 

2from config.database import Database 

3 

4class CurrencyManager: 

5 @staticmethod 

6 def convert_currency(monto, divisa_origen, divisa_destino): 

7 conversion_rates = Database.conversion_rates() 

8 

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 

17