public void MapToViewModel_CorrectObject_FullObject() { // arrange var rateInput = new RateCalculation { Rate = (decimal)2.51, RateValue = (decimal)2.5 }; var calculationInput = new CalculateRatesInputModel { SecondCurrency = "USD", FirstCurrency = "LOT", Value = (decimal)12.3 }; // act var result = RateMapper.MapToViewModel(rateInput, calculationInput); // assert Assert.Equal(rateInput.RateValue, result.RateValue); Assert.Equal(rateInput.Rate, result.Rate); Assert.Equal(calculationInput.FirstCurrency, result.FirtsCurrency); Assert.Equal(calculationInput.SecondCurrency, result.SecondCurrency); Assert.Equal(calculationInput.Value, result.Amount); }
public async Task <CalculateRatesResponseModel> CalculateRates(CalculateRatesInputModel calculateRatesInputModel) { var firstCurrency = await _dataLoadLogic.GetCurrency(calculateRatesInputModel.FirstCurrency); var secondCurrency = await _dataLoadLogic.GetCurrency(calculateRatesInputModel.SecondCurrency); if (firstCurrency == null || secondCurrency == null) { throw new CurrencyNotFoundException(); } var rateCalculation = new RateCalculation() { RateValue = CaclulateRateValue(firstCurrency.Value, secondCurrency.Value, calculateRatesInputModel.Value), Rate = CaclulateRate(firstCurrency.Value, secondCurrency.Value) }; return(RateMapper.MapToViewModel(rateCalculation, calculateRatesInputModel)); }